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.

In der Realität bietet Excel zwei verschiedene Möglichkeiten, wie Sie eine Prozedur ausführen können, wenn eine Arbeitsmappe geöffnet wird. In beiden Fällen müssen Sie lediglich einen speziellen Namen für das Makro angeben. Dies ist der Hinweis, der Excel mitteilt, dass Sie die Prozedur beim Öffnen ausführen möchten. Falls gewünscht, können Sie die Prozedur Auto_Open benennen und in ein reguläres Makromodul einfügen. Sie können im ThisWorkbook-Objekt auch eine Prozedur mit dem Namen Workbook_Open definieren.

Betrachten Sie als Beispiel den folgenden Code:

Sub Auto_Open()

Dim sMsg As String     Dim iBoxType As Integer     Dim iUpdate As Integer     Dim sDefault As String     Dim sOldFile As String     Dim iStatusState As Integer

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

iBoxType = vbYesNo + vbQuestion     iUpdate = MsgBox(sMsg, iBoxType, "Automatic Backup")

If iUpdate = vbYes Then         sMsg = "Which filename would you like use?"

sDefault = "OLD.DAT"

sOldFile = InputBox(sMsg, "Automatic Backup", sDefault)

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

UpdateYesterday(sOldFile)

Application.StatusBar = False         Application.DisplayStatusBar = iStatusState     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()

_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 (8451) gilt für Microsoft Excel 2007, 2010, 2013, 2016, 2019 und Excel in Office 365. Eine Version dieses Tippes für die ältere Menüoberfläche von Excel finden Sie hier: