AW: per vba den zellenbezug im namensmanager auf das a
14.05.2019 22:45:32
Piet
Hallo
probier bitte mal die unteren beiden Codes aus. Der erste listet dir den Namens Manager auf. Dabei erlebt man auch schon mal nette Überraschungen - MS Leichen im Excel Keller! - Tote Namen weg. Referenz Fehler, die im Manager Dialog NICHT aufgelistet werden!
Das zweite Makro kann die von Hand geaenderte Referenz umbenennen. Vor dem "=" Zeichen muss unbedingt ein ' Zeichen stehen, am besten mit Space, so: " ' ",sonst denkt Excel das sei eine Formel und versucht sie zu übernehmen! Im Befehl Trim(Mid(...)) wird das Zeichen wieder abgeschnitten, sonst klappt die Zuweisung nicht. Wnn es nicht klappt den Wert Mid 3, 500) auf 4, 500) erhöhen.
Würde mich freuen wenn es so klappt.
mfg Piet
Option Explicit
Dim NameTxt, NameRef, i As Integer
Const Liste = "Tabelle1"
'Makro zum Namen auflisten
Sub Namensliste_erstellen()
MsgBox ThisWorkbook.Names.Count
With Worksheets(Liste)
For i = 1 To ThisWorkbook.Names.Count
.Cells(i + 1, 1) = i
.Cells(i + 1, 2) = ThisWorkbook.Names(i).Name
.Cells(i + 1, 3) = " ' " & ThisWorkbook.Names(i).RefersTo
Next i
End With
End Sub
'Makro zum Refrnz umbenennen
Sub Namen_Referenz_umbennnen()
On Error GoTo Fehler
With Worksheets(Liste)
For i = 1 To ThisWorkbook.Names.Count
'vorgestlltes ' Semikolon und Space abschneiden
NameTxt = .Cells(i + 1, 2)
NameRef = Trim(Mid(.Cells(i + 1, 3), 3, 500))
ThisWorkbook.Names(i).RefersTo = NameRef
Next i
End With
Exit Sub
Fehler: MsgBox "Fehler bei Namen: " & NameTxt: Resume Next
End Sub