Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Blätter fortlaufend benennen

Forumthread: Blätter fortlaufend benennen

Blätter fortlaufend benennen
16.08.2002 11:05:23
wolfgang
hallo,
habe eine arbeitsmappe in die per odbc täglich neue daten in ein neues tabellenblatt geschrieben werden.
gibt es eine möglichkeit im macro anzugeben, dass die blätter aufsteigend bei jedem macrostart benannt werden?
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Blätter fortlaufend benennen
16.08.2002 11:22:21
L.Vira
Speicher die Letzte nr mit SaveSetting in der Registry den und lies ihn beim nächsten Makro start mit GetSetting wieder aus.
Re: Blätter fortlaufend benennen
16.08.2002 11:24:18
Micha
hi,

nennt die blätter präfix1, präfix2,...
einfach präfix ersetzen
oder löschen(dann "präfix" & löschen), dann nennt er sie nur 1,2,...

mfg

Private Sub Workbook_Open()
For i = 1 To Worksheets.Count
Worksheets(i).Name = "präfix" & i
Next i
End Sub

Anzeige
Re: Blätter fortlaufend benennen
16.08.2002 11:50:33
wolfgang
danke, klappt bei öffnen der mappe.
problem stellt sich aber etwas anders dar:
due odbcabfrage ist macrogesteuert:

ActiveWorkbook.Worksheets.Add _
after:=ActiveWorkbook.Worksheets(ActiveWorkbook.Worksheets.Count)
ActiveSheet.Name = ("SAKWAkt")

die mappe enthält bereits blätter von SAKW1-33

kann man hier hinbekommen, dass das im makro bezeichnete blatt statt SAKWAkt beim Auführen des macros fortlaufend benannt (34, 35, ... etc) wird?

Anzeige
Re: Blätter fortlaufend benennen
16.08.2002 11:59:20
Micha
hi,

sofern keine anderen blätter als SAKW1-SAKW... enthalten sind,
einfach zeile ersetzen durch:

ActiveSheet.Name = ("SAKW" & ActiveWorkbook.Worksheets.Count+1)

mfg

Anzeige

Infobox / Tutorial

Blätter fortlaufend benennen in Excel


Schritt-für-Schritt-Anleitung

  1. Öffne deine Excel-Arbeitsmappe und drücke Alt + F11, um den VBA-Editor zu öffnen.

  2. Erstelle ein neues Modul:

    • Klicke im Menü auf Einfügen und dann auf Modul.
  3. Füge den folgenden Code ein, um die Blätter fortlaufend zu benennen:

    Private Sub Workbook_Open()
       For i = 1 To Worksheets.Count
           Worksheets(i).Name = "SAKW" & i
       Next i
    End Sub
  4. Schließe den VBA-Editor und speichere deine Arbeitsmappe.

  5. Teste das Makro, indem du die Arbeitsmappe schließt und erneut öffnest. Deine Blätter sollten jetzt fortlaufend benannt sein.


Häufige Fehler und Lösungen

  • Fehler: "Blattname bereits vorhanden"

    • Lösung: Stelle sicher, dass der Blattname, den du vergibst, noch nicht existiert. Du kannst den Code anpassen, um einen fortlaufenden Zähler zu verwenden, z.B. Worksheets.Count + 1.
  • Fehler: Makro funktioniert nicht

    • Lösung: Überprüfe, ob Makros in deiner Excel-Installation aktiviert sind. Gehe zu Datei > Optionen > Trust Center > Einstellungen für das Trust Center > Makroeinstellungen und aktiviere die entsprechenden Optionen.

Alternative Methoden

Eine andere Möglichkeit, mehrere Tabellenblätter umbenennen zu können, ist die Verwendung von Excel-Funktionen. Hier ein Beispiel:

  1. Erstelle eine Liste der gewünschten Blattnamen in einem Arbeitsblatt.
  2. Verwende die Funktion INDIREKT in Kombination mit ZÄHLENWENN, um den Bezug auf andere Tabellenblätter herzustellen.

Diese Methode ist zwar nicht so automatisiert wie ein VBA-Makro, eignet sich jedoch gut für einmalige Umbenennungen.


Praktische Beispiele

  • Beispiel für die Umbenennung von Blättern mit einem Präfix:

    Wenn du eine Arbeitsmappe hast, die Blätter für jeden Monat enthält, kannst du den folgenden Code verwenden:

    Private Sub Workbook_Open()
      Dim Monate As Variant
      Monate = Array("Januar", "Februar", "März")
    
      For i = 0 To UBound(Monate)
          Worksheets(i + 1).Name = Monate(i) & " 2023"
      Next i
    End Sub
  • Beispiel für die fortlaufende Benennung von Blättern:

    Wenn du Blätter hast, die im Format "Monat Jahr" benannt werden sollen, kannst du:

    Private Sub Workbook_Open()
      Dim Monat As Integer
      For Monat = 1 To 12
          Worksheets(Monat).Name = MonthName(Monat) & " 2023"
      Next Monat
    End Sub

Tipps für Profis

  • Verwende Fehlerbehandlung im VBA-Code, um sicherzustellen, dass dein Makro auch bei unerwarteten Situationen stabil bleibt.
  • Nutze die Registry, um die letzte verwendete Nummer zu speichern, damit du bei jedem Makrostart darauf zugreifen kannst. Dies kann mit SaveSetting und GetSetting realisiert werden.
  • Halte deine Makros modular, sodass du sie leicht anpassen und wiederverwenden kannst.

FAQ: Häufige Fragen

1. Wie kann ich mehrere Tabellenblätter in Excel gleichzeitig umbenennen? Du kannst ein Makro verwenden, das alle gewünschten Blätter nacheinander umbenennt. Alternativ kannst du auch den VBA-Editor nutzen, um spezifische Blätter auszuwählen.

2. Ist es möglich, die Blätter nach einem bestimmten Muster fortlaufend zu benennen? Ja, du kannst den VBA-Code so anpassen, dass die Blätter nach jedem gewünschten Muster benannt werden, z.B. mit einem Präfix oder in einer bestimmten Reihenfolge.

3. Was passiert, wenn ich einen bereits vorhandenen Blattnamen verwende? Excel gibt einen Fehler aus, wenn du versuchst, einen Blattnamen zu verwenden, der bereits existiert. Stelle sicher, dass die Namen eindeutig sind, oder implementiere eine Logik, um dies zu vermeiden.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige