Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1844to1848
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

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

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
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

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige