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.