vbApplicationModal is 0, so actually it really doesn't do much for you. It would really only be there to remind you or someone else reading your code that the modality of the message box is at the application level of Excel. Compare to vbSystemModal which puts the message box on top of all applications, not just Excel.
<font face=Courier New><SPAN style="color:#00007F">Sub</SPAN> ModalMessages()
MsgBox "Hi, switch to another app and I disappear.", vbExclamation + vbApplicationModal, "Application Modal"
MsgBox "Hello, switch to another app and I don't disappear.", vbInformation + vbSystemModal, "System Modal"
<SPAN style="color:#00007F">End</SPAN> <SPAN style="color:#00007F">Sub</SPAN>
The vbApplicationModal argument (constant = 0) means the user must respond to the message box before continuing work in the current Excel application.
The vbSystemModal argumen (constant 4096) means all applications are suspended until the user responds to the message box.
To test this, open Internet Explorer and Excel.
Run this macro from Excel:
MsgBox "Hello", vbApplicationModal
If you click on your task bar onto IE , the MessageBox goes away. It reappears when you click onto Excel.
Now run this:
MsgBox "Hello", vbSystemModal
If you click on IE or another app, the MessageBox does not go away, it stays visible and its presence disallows activity you might otherwise want to do in that other app until you click OK or acknowledge that MessageBox.
cheers. that clears that up for me - i kept comin g across it in examples and my lecturers notes but no additional comments!!! Thank heavens for this webboard or id be picking up a broken computer from outside my window by now!!!