Supportnet Computer
Planet of Tech

Supportnet / Forum / Tabellenkalkulation

EXCEL 2007 Tabellenname automatisch erstellen





Frage

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 1 von Saarbauer

Hallo,

geht nach meinen Kenntnissen nur per Makro

Gruß

Helmut

Antwort 2 von rainberg

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

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

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

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

Hallo tannex,

folgender Code definiert für den Bereich A8:AUx 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

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

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

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

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