Microsoft Excel

Herbers Excel/VBA-Archiv

Liste "definierter Namen" per VBA?

Betrifft: Liste "definierter Namen" per VBA? von: David
Geschrieben am: 14.08.2008 12:15:44

Hallo zusammen,

ist es per VBA möglich, die in einer Tabelle definierten Namen auszulesen, in einem neuen Sheet aufzulisten und daneben den/die mit dem Namen verbundene(n) Bereich bzw. Formel?

Ich würde mir gern bei umfangreichen Namensdefinitionen das Nachschauen im Menü ersparen, da ja dann z. Bsp. andere Excel-Tabellen blockiert sind, bis das Fenster wieder geschlossen ist. Da wäre es schön, auf "Knopfdruck" ein neues Blatt mit allen Definitionen zu bekommen.

Wenn das möglich und nicht zu aufwendig ist, vielleicht kann ja mal einer der wahren VBA-Experten hier den entsprechenden Code posten.

Danke schon mal.

Gruß

David

  

Betrifft: AW: Liste "definierter Namen" per VBA? von: Beverly
Geschrieben am: 14.08.2008 12:32:48

Hi David,

eine Möglichkeit

Sub namen_auflisten_taellenzuordnung()
    Dim naBereichsname As Names
    Dim wsTabelle As Worksheet
    Dim loI As Long
    Set wsTabelle = Worksheets("Tabelle1")
    Set naBereichsname = ActiveWorkbook.Names
    For loI = 1 To naBereichsname.Count  ' alle Bereichsnamen durchgehen
        wsTabelle.Cells(loI, 2).Value = naBereichsname(loI).Name ' Bereichsname ausgeben
        wsTabelle.Cells(loI, 3).Value = Mid(naBereichsname(loI).RefersToLocal, 2) '  _
Adressbereich ausgeben mit Tabellenzuordnung
    Next loI
End Sub



GrußformelBeverly's Excel - Inn


  

Betrifft: AW: Liste "definierter Namen" per VBA? von: David
Geschrieben am: 14.08.2008 14:34:01

Hallo Karin,

Vielen Dank. Das Makro funktioniert.

Ich wollte allerdings noch einbauen, dass vorher ein neues Tabellenblatt erstellt wird und in dieses dann geschrieben wird.
Sheets.Add ist klar, aber wie gebe ich dem neuen Blatt gleich einen Namen, da ich ja davon ausgehen muss, dass es in verschiedenen Dateien verschiedene Namen zugewiesen bekommt. Ich würde den Namen gleich festlegen und dein Makro dann darauf verweisen lassen.

Danke.

Gruß

David


  

Betrifft: AW: Liste "definierter Namen" per VBA? von: Beverly
Geschrieben am: 14.08.2008 16:35:35

Hi David,

Sub namen_auflisten_taellenzuordnung()
    Dim naBereichsname As Names
    Dim wsTabelle As Worksheet
    Dim loI As Long
    Set wsTabelle = Worksheets.Add
    wsTabelle.Move after:=Worksheets(Worksheets.Count)
    wsTabelle.Name = "Namensübersicht"
    Set naBereichsname = ActiveWorkbook.Names
    For loI = 1 To naBereichsname.Count
        wsTabelle.Cells(loI, 2).Value = naBereichsname(loI).Name
        wsTabelle.Cells(loI, 3).Value = Mid(naBereichsname(loI).RefersToLocal, 2)
    Next loI
End Sub




GrußformelBeverly's Excel - Inn


  

Betrifft: AW: Liste "definierter Namen" per VBA? von: David
Geschrieben am: 15.08.2008 08:12:22

Spitze, vielen Dank noch mal, arbeitet perfekt.

Gruß

David