Hallo,
ich möchte für Spalten entsprechene Namen definieren. Der Name der jeweiligen Spalte sollte jeweils aus Zelle 1 dieser Spalte abgeleitet werden.
Gibt es dafür eine VBA-Lösung?
Danke und Gruß
Marc
Hallo Marc,
dazu braucht's kein VBA, markiere die entsprechenden Spalten und gehe auf Einfügen > Namen > Erstellen > Namen Erstellen aus: "Oberster Zeile" > OK
Gruß Sepp
AW: Spalte anhand Zelle 1 benennen
21.06.2009 17:55:03
Marc
Hallo Sepp,
das wären aber um die 50. Wäre jedenfalls super, wenn man das mit einer Schleife machen könnte. Der Makrorekorder taugt da nicht so viel.
Noch besser wäre es allerdings, wenn ich die Daten von einem anderen Blatt einlaufen lassen würde.
Die Daten befinden sich in Spalte A des Blattes Daten. Und das Makro soll im aktiven Blatt dann die Spaltennamen ändern.
Würdest Du mir helfen?
Gruß
Marc
Anzeige
AW: Spalte anhand Zelle 1 benennen
21.06.2009 18:29:36
Josef
Hallo Marc,
ohne überprüfung, ob in Spalte A gültige Bereichsnamen stehen!
' ********************************************************************** ' Modul: Modul1 Typ: Allgemeines Modul ' **********************************************************************
OptionExplicit
Sub addNamesFromTable() Dim rng As Range
If ActiveSheet Is ThisWorkbook.Sheets("Daten") Then MsgBox "Der Code kann nicht in dieser Tabelle ausgeführt werden!", vbInformation, "Hinweis" Else With ActiveSheet For Each rng In ThisWorkbook.Sheets("Daten").Columns(1).SpecialCells(xlCellTypeConstants) If rng.Row <= .Columns.Count Then 'Lokaler Name .Parent.Names.Add Name:="'" & .Name & "'!" & rng.Text, _ RefersTo:="='" & .Name & "'!" & .Columns(rng.Row).Address ' 'oder Globeler Name ' .Parent.Names.Add Name:=rng.Text, _ ' RefersTo:="='" & .Name & "'!" & .Columns(rng.Row).Address EndIf Next EndWith EndIf EndSub
Gruß Sepp
Anzeige
AW: Spalte anhand Zelle 1 benennen
21.06.2009 20:11:25
Marc
Hallo Sepp,
prima, das funzt klasse. Danke auch für die Sicherheitsabfrage am Anfang. Hatte das Makro doch glatt im
Reiter Daten gestartet. :-)
Gruß
Marc