Sie können Excel veranlassen, eine Prozedur automatisch auszuführen, wenn eine bestimmte Arbeitsmappe geöffnet wird. Wenn Sie beispielsweise die Arbeitsmappe öffnen, möchten Sie möglicherweise eine Prozedur ausführen, mit der die Benutzer gefragt werden, ob sie eine Aufgabe ausführen möchten, z. B. das Speichern der Daten des Vortages in einer anderen Datei.

Um eine Prozedur beim Öffnen einer Arbeitsmappe automatisch auszuführen, müssen Sie lediglich die Prozedur Auto_Open () benennen. Daher wird die folgende Prozedur automatisch ausgeführt, wenn die Arbeitsmappe, die sie enthält, geöffnet wird:

Sub Auto_Open()

Dim strMsg As String     Dim intBoxType As Integer     Dim strTitle As String     Dim intUpdate As Integer     Dim strDefault As String     Dim strOldFile As String     Dim intStatusState As Integer

strMsg = "Do you want to save yesterday's transactions?"

intBoxType = vbYesNo + vbQuestion     strTitle = "Automatic Backup Routine"

intUpdate = MsgBox(Msg, BoxType, Title)

If intUpdate = vbYes Then         strMsg = "Which filename would you like use?"

strDefault = "OLD.DAT"

strOldFile = InputBox(strMsg, strTitle, strDefault)

intStatusState = Application.DisplayStatusBar         Application.DisplayStatusBar = True         Application.StatusBar = "Updating past months..."

UpdateYesterday         Application.StatusBar = False         Application.DisplayStatusBar = intStatusState     End If End Sub

(Denken Sie daran, dass dieses Verfahren ein Beispiel ist. Es wird auf Ihrem System nicht ordnungsgemäß ausgeführt, da es eine Funktion namens UpdateYesterday aufruft, die die eigentliche Aktualisierung durchführt.)

Dieses Makro wird automatisch ausgeführt, wenn die Arbeitsmappe geöffnet wird, an die es angehängt ist. Sie können den Code auch ändern und in das ThisWorkbook-Objekt einfügen, indem Sie einfach die erste Zeile in folgende Zeile ändern:

Private Sub Workbook_Open()

Viele Leute betrachten Auto_Open als den „alten Weg“ dieser Art von Makro und Workbook_Open als den „neuen Weg“. In gewissem Sinne ist das wahr; Die Workbook_Open-Methode ist ein objektorientierterer Ansatz für diesen Makrotyp als Auto_Open. In der Praxis gibt es jedoch kaum einen Unterschied zwischen den beiden.

_Hinweis: _

Wenn Sie wissen möchten, wie die auf dieser Seite (oder auf einer anderen Seite der ExcelTips-Websites) beschriebenen Makros verwendet werden, habe ich eine spezielle Seite vorbereitet, die hilfreiche Informationen enthält.

ExcelTips ist Ihre Quelle für kostengünstige Microsoft Excel-Schulungen.

Dieser Tipp (2289) gilt für Microsoft Excel 97, 2000, 2002 und 2003. Eine Version dieses Tipps für die Multifunktionsleistenschnittstelle von Excel (Excel 2007 und höher) finden Sie hier: