Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Namen löschen, nur wenn vorhanden

Forumthread: Namen löschen, nur wenn vorhanden

Namen löschen, nur wenn vorhanden
09.06.2021 08:58:09
Hans
Hallo,
ich möchte die Namen WK in einer ActiveWorkbook löschen.
Dazu hab ich folgenden Code:
ActiveWorkbook.Names("WK").Delete
leider ist der Name WK nicht in allen Excel-Dateien
wie kann ich mit der IF -Funktion nur den Namen löschen wenn er auch vorhanden ist?
Gruß Hans
Anzeige

14
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Namen löschen, nur wenn vorhanden
09.06.2021 09:08:03
Nepumuk
Hallo Hans,
so:
Code:

[Cc]

Public Sub DeleteNames() Dim objName As Name For Each objName In ActiveWorkbook.Names If objName.Name = "WK" Then Call objName.Delete Exit For End If Next End Sub

Gruß
Nepumuk
Anzeige
AW: Namen löschen, nur wenn vorhanden
09.06.2021 11:19:02
Hans
Ja, fast OK,
ich will aber den Namen WK bei allen Tabellen blättern der aktiven Excel-Datei löschen, das funktioniert nicht
Bitte um Hilfe
Danke
AW: Namen löschen, nur wenn vorhanden
09.06.2021 11:26:38
Nepumuk
Hallo Hans,
dann so:
Code:

[Cc]

Public Sub DeleteNames() Dim objName As Name Dim objWorksheet As Worksheet For Each objWorksheet In ActiveWorkbook.Worksheets For Each objName In objWorksheet.Names If objName.Name = objWorksheet.Name & "!WK" Then Call objName.Delete Exit For End If Next Next End Sub

Gruß
Nepumuk
Anzeige
AW: Namen löschen, nur wenn vorhanden
09.06.2021 12:02:11
Hans
Hallo
! vor WK ist falsch, dennoch funktioniertes nicht.
- erste Version, lösche zuminderst den Namen WK im aktivem Sheet
- zweite Version, löscht gar keinen mehr.
Bitte um Hilfe
AW: Namen löschen, nur wenn vorhanden
09.06.2021 12:46:01
Nepumuk
Hallo Hans,
kann ich nicht nachvollziehen. bei mir löscht das Makro alle Namen die WK lauten in allen Tabellen.
Lade doch mal eine Mustermappe hoch.
Gruß
Nepumuk
Anzeige
AW: Namen löschen, nur wenn vorhanden
10.06.2021 08:00:44
Hans
Hallo,
anbei die Mustermappe (in abgespeckter Version)
https://www.herber.de/bbs/user/146559.xls
hab nochmal getestet, egal von wo aus ich dieses Makro starte, ob von dieser Mustermappe oder einer anderen Datei. Geht nicht.
Gruß Hans
Anzeige
AW: Namen löschen, nur wenn vorhanden
10.06.2021 08:46:19
GerdL
Moin Hans,
wenn du mehrere Namen mit "WK" löschen möchtest, probier es mal so:

Sub DeleteNames()
Dim objName As Name
Dim objWorksheet As Worksheet
For Each objWorksheet In ActiveWorkbook.Worksheets
For Each objName In objWorksheet.Names
If objName.Name Like "*WK*" Then
Call objName.Delete
End If
Next
Next
End Sub
Und stelle das Makro in ein allgemeines Modul, z.B. Modul1.
Gruß Gerd
Anzeige
AW: Namen löschen, nur wenn vorhanden
10.06.2021 09:57:41
Hans
Hallo Gerd,
das Marko löscht den Namen WK in allen anderen Sheets (auch .3, .4 usw.), nur in .1 wird er nicht gelöscht. Egal welches Sheet aktiv ist.
Gruß Hans
AW: Namen löschen, nur wenn vorhanden
10.06.2021 11:00:08
Nepumuk
Hallo Hans,
teste mal:
Code:

[Cc]

Public Sub DeleteNames() Dim objName As Name Dim objWorksheet As Worksheet For Each objWorksheet In ActiveWorkbook.Worksheets For Each objName In objWorksheet.Names If objName.Name Like "*!WK" Then Call objName.Delete Exit For End If Next Next For Each objName In ActiveWorkbook.Names If objName.Name = "WK" Then Call objName.Delete Exit For End If Next End Sub

Gruß
Nepumuk
Anzeige
AW: Namen löschen, nur wenn vorhanden
10.06.2021 11:34:44
Hans
Hallo Gerd,
funktioniert
Danke für deine Hilfe
AW: Namen löschen, nur wenn vorhanden
10.06.2021 12:47:07
GerdL
Ich denke Hans, du wolltest dich für den letzten Vorschlag bei Nepumuk bedanken.
Gruß Gerd
AW: Namen löschen, nur wenn vorhanden
10.06.2021 22:36:42
Hans
Hallo Nepumuk
funktioniert
Danke für deine Hilfe
Anzeige
AW: Namen löschen, nur wenn vorhanden
10.06.2021 09:59:57
Hans
Hallo Gerd,
das Marko löscht den Namen WK in allen anderen Sheets (auch .3, .4 usw.), nur in .1 wird er nicht gelöscht. Egal welches Sheet aktiv ist.
Gruß Hans
AW: Namen löschen, nur wenn vorhanden
09.06.2021 09:17:12
Daniel
Hi
.Q'n'D:

On Error Resume Next
ActiveWorkbook.Names("WK").Delete
On Error Goto 0
Einfach den Fehlerabbruch unterdrücken, falls der Name nicht vorhanden ist.
Ist zwar kein guter Stil, funktioniert hier aber.
Gruß Daniel
Anzeige
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige