GRUNDLAGENKURSE | DIE WICHTIGSTEN BEFEHLE
​#29 Arbeitsmappenereignisse
Excel VBA Befehle Folge 29: Arbeitsmappen-Ereignisse
(Open, BeforeClose, BeforeSave)
Inhalt dieser Folge:
-
Was ist überhaupt ein Arbeitsmappen-Ereignis?
-
Erstellen einer Begrüßungsmeldung, sobald eine Arbeitsmappe geöffnet wird
-
Die Arbeitsmappe nur speichern, wenn alle Informationen angegeben wurden
-
Wie kann ich eine MsgBox zeitgesteuert aufkommen lassen?
Alle Folgen der VideoReihe auf einen Blick
​Folge 01 Arbeitsmappen und Tabellenblätter ansprechen, sortieren, ...
Folge 02 Zellen ansprechen
Folge 03 Meldeboxen, MsgBox (PopUpFenster)
Folge 04 Schrifteinstellungen (Fett, Kursiv, Schriftart, Schriftfarbe, Schriftgröße, ...)
Folge 05 Variablen & Datentypen in VBA
Folge 06 Arrays / Datenfelder in VBA
Folge 07 For Next - Schleifen in VBA
Folge 08 Dynamische Arrays
Folge 09 Rechenoperationen
Folge 10 Vergleichsoperatoren
Folge 11 Logische Operatoren
Folge 12 SuchFunktion (Einträge & Begriffe in Zellen suchen)
Folge 13 If Then Else - Verzweigungen in VBA
Folge 14 Do While Loop - Schleifen in VBA
Folge 15 Endlosschleifen verhindern
Folge 16 Die SortierFunktion (sortieren, nach mehreren Kriterien)
Folge 17 Select Case - Verzweigungen in VBA
Folge 18 InputBox (gestalten und Eingaben verwenden)
Folge 19 For Each - Schleifen in VBA
Folge 20 Borders-Eigenschaften (Dynamisches Tabellendesign erstellen)
Folge 21 Laufzeitfehler & Syntaxfehler - finden und beheben
Folge 22 On Error GoTo - Laufzeitfehler abfangen
Folge 23 Alle Farben in VBA nutzen (ColorIndex, vb Color, RGB)
Folge 24 Zeichen ersetzen mit der REPLACE Funktion
Folge 25 Zeichen trennen mit der SPLIT Funktion
Folge 26 Zeichen verbinden mit der JOIN Funktion
Folge 27 Auszug aus einer Zeichenkette - LEFT, RIGHT, MID Funktion
Folge 28 Zeichenketten vergleichen mit UCase & LCase
Folge 29 Arbeitsmappen Ereignisse (Open, BeforeClose, BeforeSave)
Folge 30 Tabellenblatt Ereignisse (Change, BeforeDoubleClick)
Folge 31 Zeilen und Spalten fixieren (FreezePanes)
Beispiel 1: Begrüßung, sobald die Arbeitsmappe geöffnet wird
Private Sub Workbook_Open()
'Begrüßung, sobald die Arbeitsmappe geöffnet wird
MsgBox "Herzlich willkommen Peter"
'Bestimmtes Tabellenblatt aktivieren
Worksheets("Tabelle2").Activate
End Sub
​
Beispiel 2: Zeitgesteuerte Meldung, wenn die Arbeitsmappe geöffnet wird
Private Sub Workbook_Open()
'Begrüßung, sobald die Arbeitsmappe geöffnet wird
MsgBox "Herzlich willkommen Peter"
'Bestimmtes Tabellenblatt aktivieren
Worksheets("Tabelle2").Activate
'Pausenmeldung nach 10s
Application.OnTime Now + TimeValue("00:00:10"), "PausenMeldung"
End Sub
​
Public Sub PausenMeldung()
'Meldung für Pause MsgBox
"Es ist Zeit für eine Pause!"
End Sub
​
Beispiel 3: Die Zeit protokolollieren, sobald die Arbeitsmappe geschlossen wird
Private Sub Workbook_BeforeClose(Cancel As Boolean)
'Datum und Zeit protokollieren
Worksheets("Tabelle1").Range("G2") = Date
Worksheets("Tabelle1").Range("G3") = Time
​
ThisWorkbook.Save
End Sub
​
Beispiel 4: Die Arbeitsmappe nur speichern, wenn alle Angaben vollständig sind
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
'Nur speichern, wenn ein Prüfer eingetragen wurde
If Worksheets("Tabelle2").Range("G3") = "" Then
'Arbeitsmappe nicht speichern
MsgBox "Bitte geben Sie einen Prüfer ein!"
Cancel = True
Else
'Arbeitsmappe speichern
MsgBox "Alle Änderungen wurden gespeichert."
End if
End Sub
​