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

Tabellen per Makro umbenennen

Forumthread: Tabellen per Makro umbenennen

Tabellen per Makro umbenennen
18.08.2021 12:02:48
Robert
Hallo liebes Exelforum!
Habe wieder mal ein Problem, bei welchen ich eventuell Eure Hilfe benötigen würde.
Ich habe 140 kleine Tabellen, die brauche um eine dynamische Dropdownliste zu betreiben. Es müssen aber die Tabellen als Tabellennamen genau den Namen haben, die der jeweilige Vertreter hat. Also Kopf = Tabellename statt Tabelle 1, Tabelle 2 usw..
Mit dem Makrorecorder habe ich jetzt folgendes aufgezeichnet

Range("G2:G13").Select
ActiveSheet.ListObjects.Add(xlSrcRange, Range("$G$2:$G$13"), , xlYes).Name = _
"Tabelle1"
Range("Tabelle1[[#All],[DB]]").Select
ActiveSheet.ListObjects("DB").Name = "DB"
Range("H21").Select
Nun würde ich gerne den Range Bereich in H17 eingeben, den Tabellennamen in H18, den neuen neuen Tagellennamen in H19. Ich habe schon mit

Dim strDatei As String, strTabelle As String, strRange As String
herum experimentiert. Aber leider ohne Erfolg.
Es ist mir auch wichtig, da damit dann andere auch umgehen sollen, welche nicht in Makros rum gurken sollten.
Für Eure Hilfe wäre ich sehr dankbar.
LG Robert
Anzeige

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Tabellen per Makro umbenennen
18.08.2021 14:17:01
Beverly
Hi Robert,
wenn die Zellbereiche bereits als Tabelle formatiert sind, benötigst du den Bereich nicht, nur den alten und den neuen Namen:

Sub Umbenennen()
ActiveSheet.ListObjects(Range("H18").Value).Name = Range("H19").Value
End Sub
Wenn du gleichzeitig mehrere umbenennen willst, dann kannst du die Spaltenüberschrift direkt verwenden:

Sub Umbenennen_mehrere()
Dim lstObj As ListObject
For Each lstObj In ActiveSheet.ListObjects
lstObj.Name = lstObj.HeaderRowRange.Cells.Formula
Next lstObj
End Sub

GrußformelBeverly's Excel - Inn
Anzeige
AW: Tabellen per Makro umbenennen
18.08.2021 15:03:26
Robert
Hallo Karin!
Ich habe jetzt folgendes >Makro zusammengebastelt. Das Formatiert mir zwar die Vorhanden Auflistung als Tabelle aber die Umbennenung geht nicht.

Sub Umbenennen()
Dim strDatei As String, strTabelle As String, strRange As String
strDatei = Range("H17")
strTabelle = Range("H18")
strRange = Range("H19")
Range(strRange).Select
ActiveSheet.ListObjects.Add(xlSrcRange, Range(strRange), , xlYes).Name = _
"strTabelle"
Range("strTabelle[[#All],[strDatei]]").Select
ActiveSheet.ListObjects("strDatei").Name = "strDatei"
Range("H21").Select
End Sub
str Datei in diesem Falle der neue Tabellenname, str.Tabelle Tabelle alt im Tabellentool also Tabelle 1 oder 2 usw. und strRange = Tabellenbereich als zB. L3:L9. Der Sinn der Übung ist, das aus der Tabelle 1 die Edeka, aus Tabelle 2 Bepo ussw. wird. Hoffe Du verstehst es wie ich es meinen. Und kannst mir noch mal helfen.

ActiveSheet.ListObjects.Add(xlSrcRange, Range(strRange), , xlYes).Name = _
"strTabelle"
an dieser stelle erfolgt die Fehlermeldung, eine Tabelle kann keine andere überlappen.
Danke für Deine Mühe.
LG Robert
Anzeige
AW: Tabellen per Makro umbenennen
18.08.2021 15:04:02
Robert
nur zur Kennzeichnung
AW: Tabellen per Makro umbenennen
18.08.2021 15:47:48
Beverly
Hi Robert,
was willst du nun eigentlich machen - bereits vorhandene Tabellen umbenennen oder neue Tabellen erstellen?
Lt. deinem Eröffnungsbeitrag soll der Zellbereich in H17 und nicht in H19 stehen.

GrußformelBeverly's Excel - Inn
Anzeige
AW: Tabellen per Makro umbenennen
18.08.2021 16:15:18
Robert
Hallo Karin!
Ich habe mal eine Beispieldatei angehängt, um Dir zu veranschaulichen was ich machen möchte. So sind die Tabellen vorhanden. Außer die Spalte A da habe ich schon mal den ersten Schritt gemacht, den das Makro machen soll und eine Tabelle formatiert. Per Einfügen/Tabelle. Soll es mit den restlichen Tabellen dann auch geschehen und den Bereich würde ich gerne in H17 entsprechend der entsprechenden Tabelle im Makro ändern können. Dann muß aber weiter der Tabellenname über Klick in Tabelle von Tabellentools/Entwurf geändert werden . In diesem Falle wäre das Tabelle 16 und geändert auf Dame. Dies sollte ohne Makro öffnen möglich sein, also in H18 und eventuell H19..
https://www.herber.de/bbs/user/147689.xlsm
Danke Dir im voraus
LG Robert
Anzeige
AW: Tabellen per Makro umbenennen
18.08.2021 16:50:25
Robert
Hab wieder das Symbol vergessen
AW: Tabellen per Makro umbenennen
18.08.2021 17:17:50
Beverly
Hi Robert,
weshalb willst du denn für jede Tabelle alles einzeln vorgeben? Das kann man doch in einem Ritt erledigen:

Sub Erstellen()
Dim intSpalte As Integer
Dim lngLetzte As Long
Dim rngBereich As Range
' Schleife über Spalten A bis E
For intSpalte = 1 To 5
' letzte belegte Zeile in laufender Spalte
lngLetzte = Columns(intSpalte).Find(What:="*", SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious).Row
' Bereich festlegen für laufende Spalte, von Zeile 1 bis letzte belegte Zeile
Set rngBereich = Range(Cells(1, intSpalte), Cells(lngLetzte, intSpalte))
' Tabelle erstellen und Namen aus Zeile 1 der laufenden Spalte entnehmen
ActiveSheet.ListObjects.Add(xlSrcRange, rngBereich, , xlYes).Name = _
Cells(1, intSpalte)
Next intSpalte
End Sub

GrußformelBeverly's Excel - Inn
Anzeige
AW: Tabellen per Makro umbenennen
18.08.2021 20:39:50
Robert
Hallo Karin!
Ich danke Dir von ganzen Herzen für Deine Hilfe. Es funktioniert ausgezeichnet. Wenn ich nur mal auch so Kompetent wäre.
LG Robert
AW: Tabellen per Makro umbenennen
18.08.2021 22:33:07
Beverly
Hi Robert,
das wird schon - Übung macht den Meister... :)

GrußformelBeverly's Excel - Inn
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Tabellen per Makro umbenennen


Schritt-für-Schritt-Anleitung

Um Tabellen in Excel per Makro umbenennen zu können, folge dieser einfachen Anleitung:

  1. Öffne Excel und aktiviere den VBA-Editor. Drücke ALT + F11.

  2. Füge ein neues Modul hinzu. Klicke mit der rechten Maustaste auf "VBAProject (deine_datei.xlsx)" und wähle "Einfügen" > "Modul".

  3. Kopiere den folgenden Code in das Modul:

    Sub Umbenennen()
       ActiveSheet.ListObjects(Range("H18").Value).Name = Range("H19").Value
    End Sub
  4. Passe die Zellreferenzen an. Stelle sicher, dass in Zelle H18 der alte Tabellenname steht und in H19 der neue Tabellenname.

  5. Führe das Makro aus. Gehe zurück zu Excel, drücke ALT + F8, wähle „Umbenennen“ aus der Liste und klicke auf „Ausführen“.


Häufige Fehler und Lösungen

  • Fehlermeldung: "eine Tabelle kann keine andere Tabelle überlappen"

    • Diese Fehlermeldung erscheint, wenn der Bereich, den du versuchst, als Tabelle zu formatieren, sich mit einer bestehenden Tabelle überschneidet. Achte darauf, dass der Bereich, den du angibst, nicht in einer bereits vorhandenen Tabelle liegt.
  • Tabellenname wird nicht geändert.

    • Vergewissere dich, dass die Zellreferenzen korrekt sind. In H18 sollte der aktuelle Tabellenname und in H19 der neue gewünschte Name stehen.

Alternative Methoden

Falls du mehrere Tabellen gleichzeitig umbenennen möchtest, kannst du das folgende Makro verwenden:

Sub Umbenennen_mehrere()
    Dim lstObj As ListObject
    For Each lstObj In ActiveSheet.ListObjects
        lstObj.Name = lstObj.HeaderRowRange.Cells.Formula
    Next lstObj
End Sub

Mit diesem Makro werden alle Tabellen im aktiven Blatt umbenannt, basierend auf ihren Spaltenüberschriften.


Praktische Beispiele

Hier sind einige praktische Anwendungen für das Umbenennen von Tabellen in Excel:

  1. Einzelnes Umbenennen:

    • Wenn du eine Tabelle mit dem Namen "Tabelle1" hast und sie in "Umsatz2023" umbenennen möchtest, platziere in H18 "Tabelle1" und in H19 "Umsatz2023".
  2. Mehrere Tabellen umbenennen:

    • Verwende das Makro „Umbenennen_mehrere“, um alle Tabellen im aktiven Arbeitsblatt in den Namen ihrer ersten Zeile zu ändern.

Tipps für Profis

  • Verwende aussagekräftige Tabellennamen. Dies erleichtert die Identifikation und Nutzung der Tabellen in Formeln und Pivot-Tabellen.
  • Teste dein Makro in einer Kopie der Datei. So vermeidest du ungewollte Änderungen oder Datenverlust.
  • Nutze Fehlerbehandlung. Implementiere in deinem Makro Fehlerbehandlungsroutinen, um unerwartete Probleme abzufangen.

FAQ: Häufige Fragen

1. Wie kann ich eine Tabelle in Excel benennen?
Um eine Tabelle in Excel zu benennen, kannst du das Kontextmenü der Tabelle verwenden oder ein Makro wie oben beschrieben.

2. Was passiert, wenn ich versuche, eine Tabelle mit einem bereits verwendeten Namen zu benennen?
Excel wird eine Fehlermeldung anzeigen, dass der Tabellenname bereits existiert. Wähle einen anderen Namen.

3. Kann ich Spalten in einer Tabelle umbenennen?
Ja, du kannst Spaltennamen in einer Tabelle ändern, indem du einfach die Überschriften in der ersten Zeile bearbeitest.

4. Wo finde ich meine Makros in Excel?
Du findest deine Makros unter Entwicklertools > Makros oder drücke ALT + F8 in Excel.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige