AW: Namen auslesen und löschen
25.01.2022 17:13:31
Yal
Hallo Markus,
die Definition der Aufgabe ist nicht klar: möchtest Du die Namen löschen,
_ die für einem Bereich in diesen Tabellen oder
_ die nur für eine diesen Tabelle definiert sind
Führe folgende Auflistung:
Sub Namen_auflisten()
Dim n As Name
For Each n In Application.Names
Debug.Print n.Name, n.RefersTo
Next
End Sub
Bei meinem Test mit meinen Daten (Du hast ja nichts zur Verfügung gestellt), bekomme ich folgende Ergebnis:
hallo =Tabelle2!$B$8:$B$13
Header =Tabelle1!$A$1:$F$1
Test =Tabelle1!$F$8:$F$10
Tabelle1!Test1 =Tabelle1!$F$22
Tabelle2!Test1 =Tabelle2!$G$22
Die letzten 2 referieren nicht nur auf eine Tabelle, diese sind auch nur für diese Tabelle gültig. Es erlaubt daher gleiche Name, aber andere Definition.
Daher entweder
Sub NamenNachTabelle_löschen()
Dim n As Name
Dim s
For Each n In Application.Names
For Each s In Array("Tabelle6", "Tabelle7")
If InStr(1, n.Name, s, vbTextCompare) Then n.Delete
Next
Next
End Sub
oder
Sub NamenNachRefers_löschen()
Dim n As Name
Dim s
For Each n In Application.Names
For Each s In Array("Tabelle6", "Tabelle7")
If InStr(1, n.RefersTo, s, vbTextCompare) Then n.Delete
Next
Next
End Sub
VG
Yal