1.1k Aufrufe
Gefragt in Tabellenkalkulation von
Ich habe eine Arbeitsmappe mit z.B. Drei Tabellenblättern. Für jedes Tabellenblatt soll beim Öffnen
des Blattes automatisch die für dieses Tabellenblatt Betreffende Eingabemaske erzeugt werden. Mit
dem VBA Befehl öffnet immer nur die Maske für das jeweilig aktive Blatt.

Übrigens danke für den Code.
Kann man das überhaupt für jedes Tabellenblatt einzeln automatisch erzeugen?

4 Antworten

0 Punkte
Beantwortet von rainberg Profi (14.9k Punkte)
Hallo Bussiquilt,

kannst du mir helfen?

- ich verstehe deine Frage nicht
- ich sehe deine Arbeitsmappe nicht
- ich sehe keinen Code

Gruß
Rainer
0 Punkte
Beantwortet von
Hallo,
vielen Dank für die Reaktion.
Natürlich kann ich das Problem näher erläutern und den Code kurz hier einfügen. Ich dachte, meine Frage wäre in Bezug zu der Antwort, aus der ich den VBA-Code genommen habe, gepostet worden.
Ich habe eine Excel-Datei mit 3 Tabellenblättern (Arbeitsmappen), in die Daten eingetragen werden. Musste ich so aufteilen, da für eine Eingabemaske die Anzahl der Spalten zu hoch war und Excel keine Maske aufbauen konnte.
In einer Antwort fand ich den Code, der aus dem ersten Tabellenblatt (Arbeitsmappe) eine Maske erstellt hat.
Er lautet:
Private Sub Workbook_Open()
Application.DisplayAlerts = False
ActiveSheet.ShowDataForm
Application.DisplayAlerts = True
End Sub
Das funktioniert aber nur mit dem ersten der drei Tabellenblätter. Wenn es möglich wäre, hätte ich gerne die Möglichkeit, dass jedes Tabellenblatt (Arbeitsmappe) der Excel-Datei nach dem Öffnen über die unteren Reiter ebenfalls die jeweilige Eingabemaske des Blattegeöffnet wird.

Vielen Dank auch für die Hilfe. Ich habe wirklich keine Ahnung von VBA-Programmierung und kann daher auch nicht abschätzen, ob das überhaupt möglich ist, was ich versuche.
0 Punkte
Beantwortet von m-o Profi (22.9k Punkte)
Hallo,

anstatt das Workbook_Open-Ereignis musst du das Worksheet_Activate-Ereignis der einzelnen Arbeitsblätter nutzen.

Trage dazu in das VBA-Projekt der einzelnen Tabellenblätter den folgenden Code ein:
Private Sub Worksheet_Activate()
ActiveSheet.ShowDataForm
End Sub

Gruß

M.O.
0 Punkte
Beantwortet von
Danke für die schnelle Hilfe.

Viele Grüße

Marion
...