Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1420to1424
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

Bereichsnamen mit VBA löschen

Bereichsnamen mit VBA löschen
30.04.2015 08:30:54
Norgas
Versuche Bereichnamen mit VBA zu löschen. Habe im Archiv folgenden Vorschlag gefunden:

Sub alle_Loeschen()
Dim n As Name
For Each n In ActiveWorkbook.Names
n.Delete
Next
End Sub

Das scheint soweit zu funktionieren aber irgendwie nur halb. Die Namen erscheinen nicht mehr im Selektor aber sie scheinen irgendwie doch noch bekannt zus sein, denn wenn ich denselben nochmals anlege kann ich das nicht weil er schon vorhanden ist.
Kennt jemand das Problem und eine Lösung?

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Bereichsnamen mit VBA löschen
02.05.2015 17:55:37
fcs
Hallo Norgas,
ich hab dein Makro getestet.
Sub alle_Loeschen()
Dim n As Name
For Each n In ActiveWorkbook.Names
n.Delete
Next
End Sub
Sub TestAddDeleteAddNames()
ActiveSheet.Range("C3:K3").Name = "WerteYYY"
ActiveSheet.Range("C8:K8").Name = "WerteXXX"
ActiveWorkbook.Names.Add Name:="WerteZZZ", RefersTo:=ActiveSheet.Range("C5:M5")
Call alle_Loeschen
ActiveSheet.Range("C3:K3").Name = "WerteYYY"
ActiveSheet.Range("C8:K8").Name = "WerteXXX"
ActiveWorkbook.Names.Add Name:="WerteZZZ", RefersTo:=ActiveSheet.Range("C5:M5")
End Sub

Ich hatte keine Probleme mit deinem Makro Namen zu löschen und die gleichen Namen wieder anzulegen. Sowohl manuell als auch per Makro.
Ich empfehle aber ein Makro der folgenden Form zum Löschen der Namen, da es auch Namen gibt, die man ggf. nicht löschen sollte/kann. Die Anzeige der MsgBoxen und Sicherheitsabfrage kann man natürlich weglassen.
Gruß
Franz
Sub Datei_Namen_Loeschen()
'Erstellt 2012-06-02
'löscht in der aktiven Arbeitsmappe alle definierten Namen (auch unsichtbare!) _
- außer MS-geschützter Namen für Tabellen-Funktionen
On Error GoTo Fehler
Dim objName As Name
If ActiveWorkbook.Names.Count = 0 Then
MsgBox "In der aktiven Arbeitsmappe sind keine Namen vorhanden.", vbInformation + vbOKOnly, _
_
"Namen löschen"
GoTo Beenden
End If
If MsgBox("Alle Namen in aktiver Arbeitsmappe löschen?", vbQuestion + vbOKCancel, _
"Namen löschen") = vbCancel Then GoTo Beenden
For Each objName In ActiveWorkbook.Names
If LCase(Left(objName.Name, 6))  "_xlfn." Then
objName.Delete
End If
Next
Fehler:
With Err
Select Case .Number
Case 0 'Alles OK
Case 1004
MsgBox "Name """ & objName.Name & """ kann nicht gelöscht werden", _
vbInformation + vbOKOnly, "Namen in Mappe löschen"
Resume Next
Case Else
MsgBox "Fehler-Nr.: " & .Number & vbLf & .Description
End Select
End With
Beenden:
Set objName = Nothing
End Sub

Anzeige

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige