EXCEL 2007 Tabellenname automatisch erstellen
Hallo,
ich nutze EXCEL 2007 und möchte für eine definierte Tabelle A8 bis X147 einen Namen automatisch vergeben.
Diesen ermittel ich in Zelle C3.
Habe schon eine ganze Weile gegoogelt aber war nicht erfolgreich.
Danke für die Hilfe !
Gruß, tannex
Antwort schreiben
Antwort 1 von Saarbauer vom 15.12.2020, 13:14 Options
Hallo,
geht nach meinen Kenntnissen nur per Makro
Gruß
Helmut
Antwort 2 von rainberg vom 15.12.2020, 16:31 Options
Hallo tannex,
nimm diesen Code
Option Explicit
Sub Bereich_Def()
ActiveWorkbook.Names.Add Name:=Worksheets("Tabelle1").Range("C3").Value, _
RefersTo:=Worksheets("Tabelle1").Range("A8:X147")
End Sub
Gruß
Rainer
Antwort 3 von tannex vom 16.12.2020, 09:07 Options
Hallo Rainer,
der Code ist OK - aber er wirkt sich auf das Tabellenblatt aus.
Ich benötige eine automatisierte Vergabe für einen Tabellennamen in einem Tabellenblatt ...
Gruß, tannex
Antwort 4 von rainberg vom 16.12.2020, 09:34 Options
Hallo tannex,
mein Code definiert für den Bereich A8:X147 in Tabelle1 den Namen, der in Zelle C3 von Tabelle1 angegeben ist.
So hatte ich Dich verstanden.
Was Du jetzt schreibst, verstehe ich nicht.
Kannst Du es etwas verständlicher ausdrücken?
Gruß
Rainer
Antwort 5 von tannex vom 16.12.2020, 09:44 Options
Hallo Rainer,
Sorry wenns undeutlich ist.
Also:
meine Datei umfasst zwei Tabellenblätter.
Das erste heißt "colli list", das zweite "Nachsendungen".
Im ersten Blatt habe ich eine Tabelle die momentan von A8 bis AU8 als "Liste1" definiert ist.
Die Zeilen erweitern sich dann durch die Tab-Schaltung in AU8 weiter. Meist werden es so zwischen 150 und 300 Zeilen.
In der Zelle C3 steht die eindeutige Bezeichnung die ich der Tabelle gern mitgeben möchte.
Hintergrund ist der, das ich die mehreren ähnlichen Tabellen die sich in Form gleichen die Daten in Access einlesen möchte. Dazu wollte ich den Tabellen eindeutige Namen geben, damit dies auch funktioniert.
Ist das besser erläutert ?
Danke und Gruß, tannex
Antwort 6 von rainberg vom 16.12.2020, 10:23 Options
Hallo tannex,
folgender Code definiert für den Bereich A8:AU
x den Namen
Liste1, wobei
x der Zeileindex der letzen genutzten Zelle in Spalte A ist.
Option Explicit
Sub Bereich_Def()
Dim lngZeile As Long
lngZeile = Worksheets("colli list").Cells(Rows.Count, 1).End(xlUp).Row
ActiveWorkbook.Names.Add Name:=Worksheets("colli list").Range("C3").Value, _
RefersTo:=Worksheets("colli list").Range("A8:AU" & lngZeile)
End Sub
Hilft Dir das weiter?
Gruß
Rainer
Antwort 7 von tannex vom 16.12.2020, 10:56 Options
Hallo Rainer,
Danke für den Code.
Läuft bei mir durch, zählt mit lngZeile richtig, bei Menue (EXCEL 2007) >Tabellentools< >Entwurf< steht gnaz vorn unter Tabellenname immer noch Liste1 ...
Ich werds wohl manuell tun müssen ...
Gruß, tannex
Antwort 8 von rainberg vom 16.12.2020, 11:26 Options
Hallo tannex,
habe den Code in Excel2007 erstellt und getestet.
Er tut, was er soll.
Hast Du auch Einträge in Spalte A, ab A8 abwärts?
Gruß
Rainer
Antwort 9 von tannex vom 16.12.2020, 11:46 Options
Hallo Rainer,
habe Werte in Spalte8 bis zur Zeile 118.
lngZeile zählt richtig.
Die Tabelle heißt nach wei vor Liste1 .... keine Ahnung was hier schief läuft ...
Gruß, tannex
Antwort 10 von rainberg vom 16.12.2020, 12:30 Options
Hallo tannex,
reden wir etwa an einander vorbei?
Zitat:
Die Tabelle heißt nach wei vor Liste1 ....
... Du hattest ja auch
Liste1 vorgegeben.
Dieser Name wird vom Makro so lange vergeben, bis Du in C3 einen anderen rein schreibst!?
Vielleicht habe ich Dich auch falsch verstanden, aber aus Deinen Infos kann ich leider keinen anderen Extrakt ziehen.
Gruß
Rainer