Im laufenden VBA-Code eine Meldung anzeigen
Wie schafft man es, dem User mitzuteilen, das noch ein VBA-Code läuft.
Ich habe eine Kopier-Routine, die etwas länger dauert und beim Blattwechsel automatisch startet. Damit der User nicht abbricht, möchte ich eine Meldung ausgeben.
Schalte ich aber eine eigene Userform dafür, bleibt der Code beim UserForm.Show hängen und arbeitet nicht weiter.
Hat jemand Vorschläge?
Schon mal Dank vorab.
3 Antworten
Denn du genau weisst wie lange der Protess dauert, kannst du eine Progress-Bar einfügen. Rechtsklick auf die Werkzeugsammlung (bei UF erstellen), "Zusätzlichs Steuerelemente...", dann in der Liste nach "Microsoft Progress Bar Control" suchen und ankreuzen.
Einige Beispiele findest Du hier:
Ich erstelle normalerweise einfach ein Formular, das nur ein Label enthält, wo "Bitte warten" drauf steht und öffne es mit docmd.openForm "frmWarten"
Schließen kann man es dann mit docmd.close acForm, "frmWarten"
Ich weiß allerdings nicht, ob das nur in Access so funktioniert.
Hmm, dann kann ich dir leider auch nicht weiterhelfen. Eine Funktion, die mir bei Access noch einfällt, ist SysCmd acSysCmdSetStatus, "Bitte Warten"
Dadurch wird die Statusleiste des Programms mit dem Text gefüllt. Ist aber nicht besonders auffällig. Vielleicht gibt's ja eine vergleichbare Funktion auch in Excel.
Gib doch einfach eine Meldung aus: "Es wird eine umfangreiche Kopieraktion gestartet. Bitte brechen Sie diesen Vorgang nicht ab. Am Ende des Vorgangs wird Ihnen eine Statusmeldung angezeigt."
Danke erst mal, aber
ich vergas zu sagen, dass es Excel2003 ist.
Excle kennt leider kein DoCmd.
Und ein Verweis auf die Lib von Access funzt auch nicht.