Hallo zusammen,
neben den Ausführungen von Mase, dass mit normalen Mitteln der Text in derselben MsgBox nicht geändert werden kann und der Alternative Application.Statusbar hättest Du mindestens noch folgende Möglichkeit.
1. Eine Pop-Msgbox per API oder Shell. Die erste MsgBox wird automatisch nach einer bestimmten Zeit beendet und der Code kann laufen
Während der Abarbeitung ist natürlich keine MsgBox zu sehen.
Code:
01
02
03
04
05
06
07
08
09
10 |
|
Private Declare PtrSafe Function MessageBoxTimeoutA Lib "user32" ( _
ByVal hwnd As LongPtr, ByVal lpText As String, _
ByVal lpCation As String, ByVal uType As Long, _
ByVal wLanguageId As Integer, ByVal dwMiliseconds As Long) As Long
Sub Test()
' Wartet eine Sekunde
MessageBoxTimeoutA Application.hwnd, "Mein Text", "MyCaption", vbInformation, 0, 1000
' oder
CreateObject("WScript.Shell").Popup "MeinText", 1, "MyCaption", vbInformation
End Sub
|
1. Eine Userform als Fortschrittsanzeige
https://www.clever-excel-forum.de/Thread-Fortschrittsbalken-mit-Prozentanzeige-fuer-Excel-Makro?pid=224704#pid224704
2. Eine API-Lösung, bei der die Messagebox stehen bleibt, der Code ausgeführt wird und dann wie gewünscht der Text geändert wird, bis zum Klick des Users.
Diese Lösung ist etwas aufwändiger. Wenn Du sie ausprobieren und nutzen möchtest, sag hier bescheid. Ich such sie raus und passe sie an, denn ich habe nur so etwas Ähnliches parat.
viele Grüße
Karl-Heinz
|