Wie setze ich Variablen beim Starten einer Excel-Tabelle mit VBA?

Antwort

Um Variablen wie `Set wsKriterien = ThisWorkbook.Worksheets("Kriterien")` beim Starten einer Excel-Datei automatisch zu setzen, kannst du das Workbook-Open-Ereignis im VBA-Editor nutzen. So gehst du vor: 1. **VBA-Editor öffnen:** Drücke `ALT + F11`, um den VBA-Editor zu öffnen. 2. **Zum "DieseArbeitsmappe"-Modul wechseln:** Im Projekt-Explorer auf der linken Seite doppelklicken auf `DieseArbeitsmappe` (englisch: `ThisWorkbook`). 3. **Workbook_Open-Ereignis einfügen:** Füge folgenden Code ein: ```vba Dim wsKriterien As Worksheet Private Sub Workbook_Open() Set wsKriterien = ThisWorkbook.Worksheets("Kriterien") ' Hier kannst du weitere Aktionen mit wsKriterien durchführen End Sub ``` **Wichtig:** - Die Variable `wsKriterien` ist in diesem Beispiel nur innerhalb des Moduls gültig. - Wenn du sie in mehreren Modulen verwenden möchtest, deklariere sie als `Public` ganz oben in einem allgemeinen Modul: ```vba Public wsKriterien As Worksheet ``` und dann im `Workbook_Open`-Ereignis: ```vba Set wsKriterien = ThisWorkbook.Worksheets("Kriterien") ``` 4. **Datei als Makro-Arbeitsmappe speichern:** Speichere die Datei als `.xlsm`, damit Makros ausgeführt werden können. **Ergebnis:** Jedes Mal, wenn die Arbeitsmappe geöffnet wird, wird die Variable `wsKriterien` automatisch auf das Arbeitsblatt "Kriterien" gesetzt. Weitere Infos zu VBA-Ereignissen findest du z.B. bei [Microsoft Learn](https://learn.microsoft.com/de-de/office/vba/api/excel.workbook.open).

Kategorie: Excel Tags: VBA Variable Workbook
KI fragen

Verwandte Fragen

Kann ich in Excel aus einer 'Private Sub Workbook_Open()' mit 'Call Private Sub Workbook_SheetBeforeRightClick' starten?

In Excel VBA ist es nicht möglich, ein **Worksheet-Ereignis** wie `Workbook_SheetBeforeRightClick` direkt mit `Call` aus einer anderen Prozedur (z.B. `Workbook_Open`) zu starten. Ereignisprozedur... [mehr]

Wie prüft man in Excel per VBA, ob in einer InputBox 'Abbrechen' gewählt wurde?

Um in Excel VBA zu prüfen, ob in einer InputBox auf "Abbrechen" geklickt wurde, kannst du den Rückgabewert der InputBox auswerten. Wird "Abbrechen" gewählt, gibt die... [mehr]

Wie lasse ich in Excel per VBA eine Messagebox erscheinen, wenn eine Zelle einen bestimmten Wert unterschreitet?

Um in Excel per VBA eine Messagebox erscheinen zu lassen, wenn eine Zelle einen bestimmten Wert unterschreitet, kannst du das Worksheet-Change-Ereignis verwenden. Hier ein Beispiel, wie du das umsetze... [mehr]

Wie kann ich mit VBA die Zelle mit dem Namen 'Konto' auswählen?

Um in VBA eine Zelle mit dem Namen „Konto“ auszuwählen, kannst du den Namen direkt über das `Range`-Objekt ansprechen. Voraussetzung ist, dass der Name „Konto“ als be... [mehr]

Wie kann ich mit einem VBA-Makro eine Zellverknüpfung zu einem anderen, nicht geöffneten Arbeitsblatt aktualisieren?

Um eine Verknüpfung (z.B. eine Formel wie `='[AndereDatei.xlsx]Tabelle1'!A1`) in einer Zelle per VBA zu aktualisieren, ohne dass die verknüpfte Arbeitsmappe geöffnet ist, kann... [mehr]

Was bewirkt der VBA-Code ThisWorkbook.Names("z06_a1401111_Bericht").RefersToR1S1 = "='z06_a1401111_Bericht'!R1S1:R20S18"?

Der Ausdruck ```vba ThisWorkbook.Names("z06_a1401111_Bericht").RefersToR1S1 = "='z06_a1401111_Bericht'!R1S1:R20S18" ``` weist dem definierten Namen **z06_a1401111_Beric... [mehr]

Wie kann der VBA-Code angepasst werden, damit in 'Personen einzelnd drucken' der Name in Spalte C9-C66 gesucht und mit dem Wert im Arbeitsplan verglichen wird?

Um die Schleife so umzubauen, dass **in "Personen einzelnd drucken"** in den Zellen **C9:C66** nach dem Namen gesucht und mit der Spalte B im "Arbeitsplan" verglichen wird, muss di... [mehr]

Warum erkennt mein Excel VBA-Makro das Datum im Arbeitsplan nicht, obwohl es als Datum hinterlegt ist, aber in einer anderen Tabelle als Zahl angezeigt wird?

Das Problem liegt sehr wahrscheinlich an der Art, wie Excel intern mit Datumswerten umgeht. Ein Datum in Excel ist eigentlich eine Zahl (z.B. 45123 für den 01.09.2023), aber die Anzeige kann unte... [mehr]

Wie lege ich Drucktitel in Excel VBA fest?

Um in Excel VBA Drucktitel festzulegen, kannst du den folgenden Code verwenden. Dieser Code setzt die Drucktitel für die Zeilen und Spalten, die auf jeder gedruckten Seite wiederholt werden solle... [mehr]

Excel VBA Zelle zeigt Formel als Text, wie ändern?

Wenn eine Zelle in Excel eine Formel als Text anzeigt, kann das verschiedene Ursachen haben. Hier sind einige Schritte, um das Problem zu beheben: 1. **Überprüfen der Formatierung**: Stelle... [mehr]