Ereignisse Workbook (Datei / Arbeitsmappe)
Aus SAP-Wiki
Zur Navigation springenZur Suche springen
Events
Workbook_Activate
- Tritt ein, sobald eine Arbeitsmappe aktiviert wird.
Ein Arbeitsblatt wird aktiviert.
Worksheets("Tabelle1").Activate
Workbook_BeforeClose
'Listing 8.4: Die Mappe kann nur unter bestimmten Umständen geschlossen werden.
'Held VBA, S. 240
Private Sub Workbook_BeforeClose(Cancel As Boolean)
With Tabelle2
.Cells(.Rows.Count, 1).End(xlUp).Offset(1, 0).Value = Now
.Cells(.Rows.Count, 1).End(xlUp).Offset(0, 1).Value = Environ("Username")
End With
With Tabelle1
If .Range("A1").Value <> "OK" Then
MsgBox "Mappe kann nicht geschlossen werden!"
Cancel = True
Else
Cancel = False
ThisWorkbook.Save
End If
End With
end sub
'Listing 8.3: Beim Schließen der Mappe wird eine Zugriffsdokumentation gepflegt.
'Held VBA, S. 239
Private Sub Workbook_BeforeClose(Cancel As Boolean)
With Tabelle2
.Cells(.Rows.Count, 1).End(xlUp).Offset(1, 0).Value = Now
.Cells(.Rows.Count, 1).End(xlUp).Offset(0, 1).Value = Environ("Username")
End With
Cancel = False
ThisWorkbook.Save
End Sub
'Listing 7.2.: Beim Schließen der Mappe ein Arbeitsblatt markieren
'Held VBA, S. 193
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Worksheets("Tabelle1").Active
End Sub
'Listing 7.4.: Beim Schließen der Mappe Automatisch speichern ohne Rückfrage 'Held VBA, S. 195 'Glaube hier muss nun ThisWorkbook genommen werden statt ActiveWorkbook Private Sub Workbook_BeforeClose(Cancel As Boolean) Application.DisplayAlerts = False ThisWorkbook.Save ThisWorkbook.Close End Sub
Workbook_BeforePrint
- Tritt vor dem Druck einer Arbeitsmappe oder auch einer einzelnen Tabelle ein.
'Listing 8.6: Es ist nicht möglich, auch nur eine Seite auszudrucken. 'Held VBA, S. 241 Private Sub Workbook_BeforePrint(Cancel As Boolean) Cancel = True End Sub
Workbook_BeforeSave
- Tritt vor dem Speichern-Vorgang ein. Dabei spielt es keine Rolle, ob Sie über Menübefehle, Symbolleiste oder Tastenkombinationen speichern.
'Listing 8.5: Das Speichern der Mappe ist nur unter bestimmten Bedingungen möglich.
'Held VBA, S. 241
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
If Worksheets("Tabelle3").Range("A1").Value <> Date Then
MsgBox "Arbeitsmappe kann nicht gespeichert werden!"
Cancel = True
Else
Cancel = False
End If
End Sub
Workbook_Deactivate
- Tritt ein, wenn eine Arbeitsmappe deaktiviert wird; beispielsweise wenn eine Arbeitsmappe minimiert wird.
Workbook_NewSheet
- Tritt ein, wenn eine neue Tabelle in die Arbeitsmappe eingefügt wird.
'Listing 8.7: Eine neu eingefügte Tabelle wird sofort wieder entfernt. 'Held VBA, S. 242 Private Sub Workbook_NewSheet(ByVal Sh As Object) Application.DisplayAlerts = False Sh.Delete Application.DisplayAlerts = True End Sub
Workbook_open
'Listing 8.2: Beim Öffnen der Mappe einen »Aufenthaltsbereich« definieren
'Held VBA, S. 237
Private Sub Workbook_Open()
On Error GoTo fehler
With Worksheets("Tabelle1")
.Activate
.ScrollArea = "A1:D10"
End With
Exit Sub
fehler:
MsgBox "Die Tabelle ist nicht vorhanden!"
End Sub
'Aktivieren des richtigen Tablettenblattes beim Öffnen einer Arbeitsmappe Private Sub Workbook_Open() Dim MonatNr as Integer Const TabName = "Tabelle" MonatNr = Month(Now()) On Error GoTo fehler Sheets(TabName & MonatNr).Activate Exit Sub Fehler: MsgBox "Es gibt kein Blatt mit dem Namen " & TabName & MonatNr End Sub
'Listing 8.1: Eine Tabelle/Arbeitsblatt beim Öffnen der Mappe voreinstellen
'Held VBA, S. 236
Private Sub Workbook_Open()
On Error GoTo fehler
Tabelle1.Activate
Exit Sub
fehler:
MsgBox "Die Tabelle ist nicht vorhanden!"
End Sub
Workbook_SheetActivate
- Tritt ein, wenn ein beliebiges Tabellen- oder Diagrammblatt in der Arbeitsmappe aktiviert wird.
Workbook_SheetBeforeDoubleClick
- Tritt ein, wenn an einer beliebigen Stelle der Arbeitsmappe ein Doppelklick mit der linken Maustaste durchgeführt wird.
Workbook_SheetBeforeRightClick
- Tritt ein, wenn an einer beliebigen Stelle der Arbeitsmappe ein Klick mit der rechten Maustaste durchgeführt wird.
Workbook_SheetCalculate
- Tritt nach Neuberechnung jedes Tabellenblattes auf.
Workbook_SheetChange
- Tritt ein, wenn sich auf einem beliebigen Tabellenblatt etwas ändert, sei es durch eine Verknüpfung oder durch den Anwender.
Workbook_SheetDeactivate
- Tritt ein, sobald ein beliebiges Tabellenblatt in der Arbeitsmappe verlassen wird.
Workbook_SheetFollowHyperlink
- Tritt ein, wenn der Anwender auf einen Hyperlink in einer Tabelle klickt.
Workbook_SheetSelectionChange
- Tritt ein, wenn sich die Markierung auf einem Tabellenblatt ändert.
Workbook_WindowActivate
- Tritt ein, wenn ein Arbeitsmappenfenster aktiviert wird.
Workbook_WindowDeactivate
- Tritt ein, wenn ein Arbeitsmappenfenster deaktiviert wird.