Fehler beim Ausführen eines Makros

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
Bild

Betrifft: Fehler beim Ausführen eines Makros
von: Hans-Georg
Geschrieben am: 19.04.2005 14:32:26
Hallo Freunde,
ich habe zwei Makros in "Diese Arbeitsmappe" eingefügt.

MAKRO 1
Option Explicit
Public symbol As CommandBar
Public Stand As Boolean


Private Sub Workbook_Activate()
   Leisten False
End Sub


Private Sub Workbook_Deactivate()
   Leisten True
End Sub


MAKRO 2
Option Explicit

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
UserForm1.Show vbModeless
DoEvents
Unload UserForm1
End Sub

Das erste Makro blendet alle Symbole aus und das zweite Makro öffnet eine Userform beim Speichern.
Makro 1 läuft ohne Probleme, aber bei Makro 2 bekomme ich eine Fehlermeldung
"Nach EndSub ...."
Was habe ich falsch gemacht ?
MfG
Hans-Georg
Bild

Betrifft: AW: Fehler beim Ausführen eines Makros
von: Heiko S.
Geschrieben am: 19.04.2005 15:44:59
Hallo Hans Georg,
nimmt das zweite
Option Explicit
raus , dann sollte es laufen.

Gruß Heiko

PS: Rückmeldung wäre nett !
Bild

Betrifft: @Heiko, noch ne Frage
von: Hans-Georg
Geschrieben am: 19.04.2005 15:59:34
Hallo Heiko,
vielen Dank für den Tip, das fuzzt prima !
Nun aber noch ne Frage : Warum wird meine Userform nur ca. 1Sek. eingeblendet, der Speichervorgang dauert aber mehr als 15Sek.
Kann ich die Einblendzeit irgendwie ändern ?
MfG
Hans-Georg
Bild

Betrifft: AW: @Heiko, noch ne Frage
von: Heiko S.
Geschrieben am: 19.04.2005 16:14:43
Hallo
ich schätze mal du willst dir sowas wie ne Fortschrittsanzeige fürs speichern basteln.
Dein Code macht aber nur folgendes:
Aufruf des Userforms
Übergeben der Steuerung ans Betriebssystem,
Schließen des Userforms.
Ich denke, weis es aber nicht, das DoEvents die Steuerung an VBA schon zurück gibt wenn das speichern gestartet wurde. Also kurz nach aufruf wird das Userform wieder geschlossen, weil das Betriebssystem die Steuerung zurückgibt.
Als Lösungsansatz, vielleicht ne Schleife die die Saved = True Eigenschaft des Workbooks auswertet. (Das ist jetzt aber voll aus dem Bauch raus und ungetestet).


Gruß Heiko

PS: Rückmeldung wäre nett !
Bild

Betrifft: Zusatz
von: Heiko S.
Geschrieben am: 19.04.2005 16:18:01
Hallo
Blödsinn von mir, das ist ja das Ereignis BeforeSave !!!
Also wird noch garnichts gespeichert, erst wenn das Sub verlassen wird, glaube ich.
Also ich makiere die Frage mal als offen, habe jetzte nämlich Feierabend.

Gruß Heiko
Bild

Betrifft: AW: Zusatz
von: andre
Geschrieben am: 23.04.2005 20:11:00
Hallo Heiko,
Du hast vollkommen Recht. Erst wird der Code ausgeführt, dann gespeichert. Wenn das userform sichtbar bleiben soll bis die Mappe gespeichert ist müsstest Du das im "normalen" code klären.
 Bild

Beiträge aus den Excel-Beispielen zum Thema "Fehler beim Ausführen eines Makros"