Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1716to1720
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

Frage zu Worbook Namen per VBA lesen

Frage zu Worbook Namen per VBA lesen
23.10.2019 21:17:43
Piet
Hallo Kollegen
mir ist in diesem Thred etwas aufgefallen, was ich technisch nicht verstehe. Die per VBA erstellte Namensliste stimmt nicht mit dem MS Manager überein. Warum wird das nicht 1:1 aufgelistet?
Ist mein Code zu alt dafür, und gibt es einen besseren der alle Daten des Manager auslesen kann?.Die Beispieldatei stammt aus diesem Thread: Laufzeitfehler Dubach 22.10.2019 19:55:34
https://www.herber.de/bbs/user/132705.xls
mfg Piet

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Frage zu Worbook Namen per VBA lesen
23.10.2019 22:46:31
fcs
Hallo Piet,
das Name-Objekt unter VBA hat zwar die Eigenschaften Comment und Value.
Comment liefert aber nicht den Wert, der im Namensmanager angezeigt wird sondern nur einen Leerstring
Value gibt unter VBA nur den Wert von RefersTo aus.
Dein Makro listet auch die im Namens-Manger nicht angezeigten unsichtbaren Namen mit aus. Das muss man dann im Makro steuern.
Nachfolgend ein Makro das Infos zu den Namen in der aktiven Arbeitsmappe ausgibt.
LG
Franz
Sub Datei_Namen_listen()
'Alle Namen in der aktiven Arbeitsmappe werden mit Zusatzinformation _
in einer Tabelle in einer neuen Arbeitsmappe gelistet.
Dim objName As Name, wbAktiv As Workbook, wbZiel As Workbook, wksZiel As Worksheet
Dim lngZei As Long
Dim bolAusgeblendet As Boolean
On Error Resume Next
Set wbAktiv = ActiveWorkbook
If wbAktiv.Names.Count = 0 Then
MsgBox "Keine Namen in Datei """ & wbAktiv.Name & """", vbInformation + vbOKOnly, _
"Namen auslesen"
GoTo Beenden
End If
If MsgBox("ausgeblendete Namen mit auflisten?", _
vbQuestion + vbYesNo, "Namen listen") = vbYes Then bolAusgeblendet = True
'Neue Arbeitsmappe für Namens-Liste anlegen
Set wbZiel = Workbooks.Add(Template:=xlWBATWorksheet)
Set wksZiel = wbZiel.Worksheets(1)
Application.ScreenUpdating = False
With wksZiel
lngZei = lngZei + 1
.Cells(lngZei, 1).Value = "Liste der Namen in Datei"
lngZei = lngZei + 1
.Cells(lngZei, 1).Value = wbAktiv.Name
'Spaltentitel
lngZei = lngZei + 1
.Cells(lngZei, 1).Value = "Name"
.Cells(lngZei, 2).Value = "Name Local"
.Cells(lngZei, 3).Value = "Refers to Local"
.Cells(lngZei, 4).Value = "Refers to R1C1Local"
.Cells(lngZei, 5).Value = "Visible"
.Cells(lngZei, 6).Value = "Parent"
.Cells(lngZei, 7).Value = "Category"
.Cells(lngZei, 8).Value = "MacroType"
Cells(lngZei + 1, 2).Select
Application.ActiveWindow.FreezePanes = True
For Each objName In wbAktiv.Names
If Not (objName.Visible = False And bolAusgeblendet = False) Then
lngZei = lngZei + 1
.Cells(lngZei, 1).Value = "'" & objName.Name
.Cells(lngZei, 2).Value = "'" & objName.NameLocal
.Cells(lngZei, 3).Value = "'" & objName.RefersToLocal
.Cells(lngZei, 4).Value = "'" & objName.RefersToR1C1Local
.Cells(lngZei, 5).Value = objName.Visible
With .Cells(lngZei, 6)
If objName.Parent.Name = wbAktiv.Name Then
.Value = "Datei: "
Else
.Value = "Tabelle: "
End If
.Value = .Value & objName.Parent.Name
End With
.Cells(lngZei, 7).Value = objName.Category
.Cells(lngZei, 8).Value = objName.MacroType
End If
Next
.Range(.Columns(1), Columns(8)).AutoFit
End With
wbZiel.Activate
Beenden:
Application.ScreenUpdating = True
Set wbAktiv = Nothing: Set wbZiel = Nothing: Set wksZiel = Nothing: Set objName = Nothing
End Sub

Anzeige
AW: Frage zu Worbook Namen per VBA lesen
26.10.2019 02:19:26
Piet
Hallo Franz
schade das man die Comments und Value nicht auflisten kann. Muss man mit leben.
Vielen Dank für deine freundliche Hilfe aus Ankara, wieder was dazu gelernt.
mfg Piet

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige