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

Forumthread: VBA Tabellennamen ändern

VBA Tabellennamen ändern
amintire
Hallo alle zusammen,
ich würde gerne in Tabelle1 Eingaben machen, z.B. A1 = 000347 und dann soll automatisch der Tabellenname Tabelle2 auf 000347 geändert werden, Zelle A2 = 000AA7, Tabelle 3 soll dann auch so heißen....
Habe etliche Tabellenblätter die jedes Jahr umbenannt werden müssten, gibt es hierzu eine vereinfachte Makrolösung bzw. VBA Lösung?
Bin Euch echt Dankbar für Eure Hilfe.
Schönen Gruß
Amina
Anzeige
AW: VBA Tabellennamen ändern
02.06.2010 12:34:23
Hajo_Zi
Hallo Amina,
ich würde den Namen in die Tabelle Eintragen z.B. in A1. Vielleicht aht jemand der Tabelle schon einen anderen Namen gegeben.
Unter dieseArbeitsmappe.
Option Explicit
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
If Target.Address = "$A$1" Then ActiveSheet.Name = Target
End Sub

Anzeige
AW: VBA Tabellennamen ändern
02.06.2010 12:47:03
amintire
Hallo Hajo,
vielen Dank für Deine schnelle Antwort.
Die Eingabe sollte aber erst ab Tabelle2 geändert werden,
wie führe ich den Code weiter aus wenn A2 auf Tabelle3 geändert werden soll, A3 = Tabelle4 Änderung, usw.
Bin Dir echt dankbar für Deine Hilfe
Gruß Amina
AW: VBA Tabellennamen ändern
02.06.2010 12:53:08
Rudi
Hallo,
in Tabelle1:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 And Target.Row + 1 

Gruß
Rudi
Anzeige
AW: VBA Tabellennamen ändern
03.06.2010 03:37:21
amintire
Hallo Rudi,
bis jetzt taugt mir dein Code, kann ich hernehmen, aber wo ändere ich den code wenn ich ab Zeile fünf aufwärts dann die Tabellennamen stehen haben möchte.
Also wenn ich hier If Target.Column = 1 anstatt 1 eine 5 schreibe muss die Eingabe ab Spalte fünf gemacht werden, wie bekomme ich es ab Zeile fünf hin?
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 And Target.Row + 1 

Danke für Hilfe
Gruß Amina
Anzeige
AW: VBA Tabellennamen ändern
03.06.2010 22:02:56
Rudi
Hallo,
ganz einfach:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 And Target.Row -3 

Gruß
Rudi
AW: VBA Tabellennamen ändern
03.06.2010 23:04:43
amintire
Hallo Rudi,
vielen Dank für Deine Antwort.
Kann man in dem Code auch eine Msg Box mit einbauen, z.B. springt es immer zum VBA Modus wenn man die Zelle löscht und nichts eingibt (da ja keine Tabellen ohne Namen erstellt werden können) oder evtl. wenn die Zelle leer ist soll die Tabelle ausgeblendet werden...
Also, es kann sein dass es mal 50 Eingaben gibt, sprich 50 Tabellennamen, und ein anderes Mal gibt es dann nur noch 30 Tabellennamen. Die restlichen 20 sollen aber nicht gelöscht werden, insgesamt bleiben aber nur 50 Tabellen. Nur wenn es eben mal weniger sind dann kommt immer die Fehlermeldung, auch dass es keine zwei identischen Tabellennamen geben kann.
Gruß Amina
Anzeige
AW: VBA Tabellennamen ändern
02.06.2010 12:59:02
Hajo_Zi
Hallo amina,
und was ist falls jemand die 6 Tabellle an die zweite Position schiebt, dann wird der Name nich in A6 sondern A2 eingeben?
Gruß Hajo
AW: VBA Tabellennamen ändern
02.06.2010 13:34:06
amintire
Hallo Hajo,
also die Tabellenblätter sollen auch nicht verschoben werden,
aber irgendwie funktioniert der Code nicht, weil Standartmäßig nur 3 Tabellenblätter vorhanden sind.
Bei Eingabe in A1 soll eine Vorlage (Tabelle2) kopiert werden und dann auf die kopierte Tabelle soll dann der Zellinhalt von A1 stehen. Ist dies möglich?
Hört sich vielleicht einwenig kompliziert an.
Hoffe auf Hilfe.
Gruß Amina
Anzeige
AW: VBA Tabellennamen ändern
02.06.2010 13:36:05
Hajo_Zi
Hallo Amina,
das ist jetzt eine andre Aufgabe, jetzt geht es nicht mehr um den Tabellennamen?
Gruß Hajo
AW: VBA Tabellennamen ändern
02.06.2010 13:49:45
amintire
Hallo Hajo,
ich habe nur weiter gedacht was ich eigentlich erreichen möchte, und das wäre so ein Beispiel gewesen.
Hauptsächlich geht es ja um die Änderung vom Tabellenblatt durch Eingabe in A1, A2, A3 usw...
Vielleicht eine einfache VBA Lösung?
Gruß Amina
PS Bin Euch echt dankbar
Anzeige
AW: VBA Tabellennamen ändern
02.06.2010 20:11:37
fcs
Hallo Amina,
ich habe nur weiter gedacht was ich eigentlich erreichen möchte
Bevor man hier eine Frage stellt, sollte man seine Probleme/Wünsche/Ziele möglichst weit durchdacht haben und klar beschreiben. Das vermeidet Mißverständnisse und unnötige Arbeit der antwortenden User.
Hier eine kleine Beispieldatei,die Kopieren/Umbenennen einer Vorlage ermöglicht als Umbenennen vorhandenenr Blätter.
https://www.herber.de/bbs/user/69856.xls
Gruß
Franz
Anzeige
AW: VBA Tabellennamen ändern
02.06.2010 22:07:05
amintire
Hallo Franz,
Du hast Recht. Dein Beispiel ist nicht schlecht, nur wenn ich schon einen vorhandenen Namen bzw. Tabellennamen änder dann wird bei Deinem Beispiel eine neue Tabelle erstellt, geht es hier auch wenn ich A3 änder dass die vorhandene Tabellenmappe mit dem Namen geändert wird anstatt dass eine neue entsteht?
Gruß Amina
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

VBA Tabellennamen automatisch ändern


Schritt-für-Schritt-Anleitung

Um den Namen einer Excel-Tabelle automatisch zu ändern, kannst Du folgendes VBA-Skript verwenden. Dieses Skript ändert den Tabellennamen in Abhängigkeit von der Eingabe in Zelle A1 und den nachfolgenden Zellen.

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu starten.
  2. Wähle im Projektfenster das betreffende Arbeitsblatt (z.B. Tabelle1) aus.
  3. Füge den folgenden Code in das Codefenster ein:
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim i As Integer
    If Target.Column = 1 Then
        For i = 1 To 3 ' Anzahl der Tabellen, die umbenannt werden sollen
            If Not IsEmpty(Cells(i, 1).Value) Then
                Worksheets("Tabelle" & (i + 1)).Name = Cells(i, 1).Value
            End If
        Next i
    End If
End Sub
  1. Schließe den VBA-Editor und kehre zu Excel zurück.
  2. Teste die Eingabe in Zelle A1. Der Tabellenname von Tabelle2 sollte sich entsprechend ändern.

Häufige Fehler und Lösungen

  • Fehler: "Der Name ist ungültig"

    • Lösung: Stelle sicher, dass der eingegebene Name in A1 keine ungültigen Zeichen enthält. Tabellennamen dürfen keine Sonderzeichen wie /, \, ?, *, [ oder ] enthalten.
  • Fehler: "Das Blatt kann nicht umbenannt werden"

    • Lösung: Überprüfe, ob der Tabellennamen bereits existiert. Excel erlaubt keine doppelten Tabellennamen.
  • Das Skript funktioniert nicht.

    • Lösung: Stelle sicher, dass das Makro aktiviert ist. Gehe zu Datei > Optionen > Trust Center > Einstellungen für das Trust Center und aktiviere die Makros.

Alternative Methoden

Wenn Du keine VBA-Lösung verwenden möchtest, kannst Du die Tabellennamen auch manuell ändern, indem Du mit der rechten Maustaste auf den Tabellennamen klickst und "Umbenennen" auswählst. Dies ist jedoch weniger effizient, wenn Du viele Tabellen umbenennen musst.


Praktische Beispiele

Ein Beispiel für die Verwendung des VBA-Codes könnte so aussehen:

  • Du gibst in Zelle A1 "Jahresbericht" ein, in A2 "Budgetplanung" und in A3 "Projektdaten".
  • Wenn die Zellen entsprechend ausgefüllt sind, ändern sich die Tabellennamen folgendermaßen:
    • Tabelle2 wird zu "Jahresbericht"
    • Tabelle3 wird zu "Budgetplanung"
    • Tabelle4 wird zu "Projektdaten"

Tipps für Profis

  • Verwendung von Fehlerbehandlungen: Du kannst den Code um Fehlerbehandlungen erweitern, um sicherzustellen, dass das Skript robust gegen unerwartete Eingaben ist.

  • Dynamische Tabellennamen: Wenn Du mehr als drei Tabellen hast, kannst Du den Wert von For i = 1 To 3 anpassen, um die Anzahl der Tabellenblätter zu ändern, die umbenannt werden sollen.

  • Bedingte Formatierungen: Kombiniere die Tabellennamen-Änderung mit bedingten Formatierungen, um die Übersichtlichkeit zu erhöhen.


FAQ: Häufige Fragen

1. Wie kann ich den Code anpassen, um ab einer bestimmten Zeile zu arbeiten? Du kannst die Zeile in der Schleife anpassen, indem Du die Bedingung änderst. Zum Beispiel: If Target.Row >= 5 Then um ab Zeile 5 zu arbeiten.

2. Was passiert, wenn ich einen Tabellennamen lösche? Wenn Du einen Tabellennamen löschst, wird Excel versuchen, das Blatt umzubenennen, was zu einer Fehlermeldung führen kann, wenn der Name leer ist. Du kannst eine MsgBox in den Code einfügen, um dies abzufangen.

3. Kann ich die Tabellennamen auch farbig gestalten? Ja, aber dies ist nicht direkt über den Tabellennamen möglich. Du kannst jedoch Zellen formatieren, um visuelle Hinweise zu geben, wenn sich der Tabellennamen ändert.

4. Wie viele Tabellen kann ich mit VBA umbenennen? Theoretisch kannst Du alle Tabellen in einer Arbeitsmappe umbenennen, solange die Namen gültig sind und keine Duplikate entstehen.

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