Ich habe eine MsgBox-Abfrage, die nach Druck auf „OK“ ein
Makro startet. Dummerweise schließt sich die Box nicht, bevor
das Makro läuft.
Bis zum Ende des Makro-Prozesses bleibt die MsgBox also
sichtbar. Läßt sich das nicht unterbinden? Kann man der MsgBox
nicht sagen, daß sie zuerst geschlossen werden soll, dann erst
soll das Makro weiterlaufen?
Hallo Rob,
schau dir nachfolgenden Code an, die For Schleife ist nur zur Demo daß das Makro arbeitet während die Msgbox schon weg ist.
Die eine Zeile kannst du auch so schreiben:
intMSG = objWSH.Popup(„Makro wirklich ausführen?“, 10 , _
„Start bestätigen“, vbOKCancel + vbQuestion)
Die 10 bzw. kannst da natürlich auch eine Variable reinschreiben steht für die Anzahl Sekunden die die MsgBox von sich aus sichtbar bleibt.
Also müßte sie theoretisch nach 10 sec von selbst wieder verschwinden sofern daß gewünscht wird.
Bei mir, XL2000 auf WinXP klappt das nur mit 1, also einer Sekunde, benutze ich 2, 3 oder höher, schließt sich die MsgBox nicht selbst.
Das kann bei anderen PCs mit anderen Versionen anders sein.
Gruß
Reinhard
Option Explicit
Sub MyMsgBox()
Dim objWSH As Object, intMSG As Integer, N As Long
Set objWSH = CreateObject("WScript.Shell")
intMSG = objWSH.Popup("Makro wirklich ausführen?", 10 , \_
"Start bestätigen", vbOKCancel + vbQuestion)
Set objWSH = Nothing
If intMSG 1 Then Exit Sub
For N = 1 To 5000
Range("A1") = Range("A1") + 100
Next N
End Sub