Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

VBA: Neue Tabellenblätter erstellen & umbennen

Forumthread: VBA: Neue Tabellenblätter erstellen & umbennen

VBA: Neue Tabellenblätter erstellen & umbennen
20.08.2002 17:33:26
Jens
Hallo.

Mit dem Makro aufzeichnen kann ich mir ja ansehen wie man per Makro ein neues Tabellenblatt erstellt.

ABER um es umzubennen brauch ich den Namen der Tabelle (Tabelle1, Tabelle2 usw.). Wie finde ich jetzt heraus,
wie die neu erstelle Tabelle heißt?


Vielen Dank

Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: VBA: Neue Tabellenblätter erstellen & umbennen
20.08.2002 17:38:54
Alan Hathway
Nicht unbedingt muss man den NAMEN kennen

Hilft vielleicht folgendes?

ActiveSheet.Copy After:=Sheets(Sheets.Count)
'
Sheets(Sheets.Count).Select
'
neuname = InputBox("Neuer Name des Blattes")
ActiveSheet.Name = neuname

Alan Hathway

Re: VBA: Neue Tabellenblätter erstellen & umbennen
20.08.2002 17:46:53
Anton
Hallo.

die Add-Methode von Worksheets liefert einen Verweis auf das neu erstellte Tabellenblatt. Dies kann entweder einer Variablen zugewiesen werden (wenn noch öfters auf das neue Blatt zugegriffen werden soll) oder man kann einfach eine Anweisung anhängen. Also:

Anton

Anzeige
Re: VBA: Neue Tabellenblätter erstellen & umbennen
21.08.2002 11:08:00
Jens
Super das funktioniert, DANKE!

Weist du, wie man jetzt noch überprüfen kann, ob der Name schon vorhanden ist?

Und wie man den Namen der letzten Tabelle herausfindet ??


DANKE schon mal im Voraus !

Re: VBA: Neue Tabellenblätter erstellen & umbennen
21.08.2002 12:18:14
Anton
Hallo,

Zu Frage 1:
Z. B. mittels einer Schleife über alle Blätter der Mappe und dem Vergleich der Blattnamen. Nachfolgende Funktion gibt TRUE zurück, falls blattname schon existiert.

Zu Frage 2:
Das letzte Blatt in der Sheets-Auflistung hat den Index (Sheets.Count).

Falls du jedoch das jüngste Blatt meinst, funktioniert das nur, wenn neue Blätter immer hinten an die Auflistung angehängt werden. Wird ein Blatt zwischen drin eingeschoben verschieben sich die Indizes der nachfolgenden Blätter.

Anton


Anzeige
Re: VBA: Neue Tabellenblätter erstellen & umbennen
21.08.2002 13:06:41
Jens
Super, nochmals DANKE !
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige

Infobox / Tutorial

Neue Tabellenblätter in Excel VBA erstellen und umbenennen


Schritt-für-Schritt-Anleitung

Um ein neues Tabellenblatt in Excel mit VBA zu erstellen und es gleichzeitig umzubenennen, kannst du die folgende Schritt-für-Schritt-Anleitung befolgen:

  1. Öffne den VBA-Editor: Drücke ALT + F11, um den Microsoft Visual Basic for Applications (VBA) Editor zu öffnen.

  2. Füge ein neues Modul hinzu: Klicke mit der rechten Maustaste auf dein Projekt im Projektfenster und wähle Einfügen > Modul.

  3. Gib den VBA-Code ein: Verwende den folgenden Code, um ein neues Tabellenblatt zu erstellen und es mit einem Namen deiner Wahl zu benennen:

    Sub NeuesTabellenblattErstellenUndUmbenennen()
       Dim neuname As String
       Dim neuesBlatt As Worksheet
    
       ' Neues Tabellenblatt am Ende einfügen
       Set neuesBlatt = ThisWorkbook.Worksheets.Add(After:=ThisWorkbook.Worksheets(ThisWorkbook.Worksheets.Count))
    
       ' Benutzer nach dem Namen fragen
       neuname = InputBox("Bitte neuen Namen für das Tabellenblatt eingeben:")
    
       ' Tabellenblatt umbenennen
       neuenBlatt.Name = neuname
    End Sub
  4. Führe das Makro aus: Drücke F5, um das Makro auszuführen. Ein Eingabefeld erscheint, in das du den gewünschten Namen für das neue Tabellenblatt eingeben kannst.


Häufige Fehler und Lösungen

  • Fehler: Name bereits vorhanden: Wenn du versuchst, ein Tabellenblatt mit einem Namen zu erstellen, der bereits existiert, bekommst du einen Fehler. Um dies zu vermeiden, kannst du eine Funktion hinzufügen, die überprüft, ob der Name bereits verwendet wird. Beispiel:

    Function NameVorhanden(blattname As String) As Boolean
       Dim blatt As Worksheet
       NameVorhanden = False
       For Each blatt In ThisWorkbook.Worksheets
           If blatt.Name = blattname Then
               NameVorhanden = True
               Exit Function
           End If
       Next blatt
    End Function
  • Fehler: Das Tabellenblatt kann nicht umbenannt werden: Dies passiert, wenn du einen ungültigen Namen eingibst (z.B. einen Namen, der bereits von einem anderen Blatt verwendet wird oder verbotene Zeichen enthält).


Alternative Methoden

Es gibt verschiedene Möglichkeiten, ein neues Tabellenblatt in Excel VBA zu erstellen:

  1. Mit der Add-Methode: Du kannst die Add-Methode direkt verwenden, um ein Tabellenblatt hinzuzufügen und es sofort einer Variablen zuzuweisen. Beispiel:

    Dim neuesBlatt As Worksheet
    Set neuesBlatt = Worksheets.Add
    neuesBlatt.Name = "MeinNeuesBlatt"
  2. Mit einer Schleife: Wenn du mehrere Tabellenblätter erstellen möchtest, kannst du eine Schleife verwenden:

    Dim i As Integer
    For i = 1 To 5
       Worksheets.Add.Name = "Blatt" & i
    Next i

Praktische Beispiele

  • Ein neues Tabellenblatt mit einem vordefinierten Namen erstellen:

    Sub NeuesTabellenblattMitVordefiniertemNamen()
       Worksheets.Add.Name = "VordefiniertesBlatt"
    End Sub
  • Ein neues Tabellenblatt am Ende der Liste einfügen:

    Sub NeuesTabellenblattAmEndeEinfügen()
       Dim neuesBlatt As Worksheet
       Set neuesBlatt = ThisWorkbook.Worksheets.Add(After:=ThisWorkbook.Worksheets(ThisWorkbook.Worksheets.Count))
       neuesBlatt.Name = "NeuesAmEnde"
    End Sub

Tipps für Profis

  • Verwende klare und eindeutige Namen: Achte darauf, dass die Namen der Tabellenblätter eindeutig sind, um Verwirrung zu vermeiden.
  • Benutze Fehlerbehandlung: Implementiere Fehlerbehandlungsroutinen, um unerwartete Fehler zu vermeiden und eine bessere Benutzererfahrung zu bieten.
  • Dokumentiere deinen Code: Schreibe Kommentare zu deinem VBA-Code, um deine Absichten klar zu machen und es dir oder anderen zu erleichtern, den Code später zu verstehen.

FAQ: Häufige Fragen

1. Wie kann ich ein neues Tabellenblatt erstellen, ohne dass ich den Namen kenne?
Du kannst das neue Tabellenblatt erstellen und dann den Benutzer nach einem Namen fragen, wie im obigen Beispiel gezeigt.

2. Kann ich mehrere neue Tabellenblätter auf einmal erstellen?
Ja, du kannst eine Schleife verwenden, um mehrere Tabellenblätter nacheinander zu erstellen und ihnen unterschiedliche Namen zu geben.

3. Wie finde ich den Namen des zuletzt erstellten Tabellenblatts?
Das letzte Tabellenblatt hat den Index Worksheets.Count. Du kannst den Namen mit Worksheets(Worksheets.Count).Name abrufen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige