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

Forumthread: Namen löschen

Namen löschen
Claudia
Hallo zusammen,
folgendes Makro löscht alle Namen der Datei. Wie muss ich das Makro ändern, wenn nur die Namen des aktiven Blattes gelöscht werden sollen?
Vielen Dank!
LG
Claudia

Sub alle_Namen_löschen()
Dim blatt As Worksheet
Dim name As name
Dim intwahl As Integer
intwahl = MsgBox("Das Makro löscht alle Namen! Wollen Sie das wirklich?", _
vbYesNo + vbQuestion, "Rückfrage")
If intwahl = 6 Then
For Each blatt In Worksheets
For Each nam In ActiveWorkbook.Names
If Right(nam.name, 10) = "Print_Areaa" _
Or Right(nam.name, 12) = "Print_Titles" Then _
Else nam.Delete
Next nam
Next blatt
End If
End Sub

Anzeige

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Namen löschen
05.12.2009 16:41:46
Josef
Hallo Claudia,
probier mal.
Sub alle_Namen_löschen()
  Dim blatt As Worksheet
  Dim nName As name
  Dim intwahl As Integer
  
  intwahl = MsgBox("Das Makro löscht alle Namen! Wollen Sie das wirklich?", _
    vbYesNo + vbQuestion, "Rückfrage")
  
  If intwahl = 6 Then
    For Each nName In ActiveWorkbook.Names
      If Right(nName.name, 10) <> "Print_Area" And Right(nName.name, 12) <> "Print_Titles" Then
        If Mid(nName.RefersTo, 2, Len(ActiveSheet.name)) = ActiveSheet.name Then nName.Delete
      End If
    Next
  End If
  
End Sub

Gruß Sepp

Anzeige
AW: Namen löschen
05.12.2009 16:44:28
Claudia
Hallo Sepp,
da passiert irgendwie gar nix. :-)
AW: Namen löschen
05.12.2009 16:51:43
Josef
Hallo Claudia,
damit werden nur Namen im gerade aktiven Blatt gelöscht, vorausgesetzt die Namen beziehen sich auf
einen Tabellenbereich und nicht etwa auf Formeln.
Gruß Sepp

Anzeige
OR nicht AND
05.12.2009 16:46:32
F1
ot
Namen doppelt vergeben
05.12.2009 16:56:11
Claudia
Hallo Sepp,
vermutlich liegt es daran, dass die Namen doppelt vergeben sind, weil ich eine Tabelle mehrfach kopiert habe.
Kann man das auch mit einem Mako löschen? Denn kein Makro hat bis jetzt irgendewas im aktiven Blatt gelöscht - auch nicht ein Austausch or statt and.
Liebe Grüße
Claudia
Anzeige
hier mein Vorschlag dazu
05.12.2009 17:07:24
Tino
Hallo,
Sub alle_Namen_löschen()
Dim oName As Name, rngVerweis As Range

'sollte der Name eine Formel sein 
On Error Resume Next
    
    'Schleife über alle Namen 
    For Each oName In ActiveWorkbook.Names
        'Namen versuchen einem Rangeobjekt zuzuweisen 
        Set rngVerweis = Range(oName.Name)
        'ist Rangeobjekt ein Zellbereich? 
        If Not rngVerweis Is Nothing Then
            'Befindet sich dieses Rangeobjekt auf der aktuellen Tabelle? 
            If rngVerweis.Parent.Name = ActiveSheet.Name Then
              'Name mit den Namen Print_Areaa o. Print_Titles nicht löschen 
              If Right(nam.Name, 10) <> "Print_Areaa" And Right(nam.Name, 12) <> "Print_Titles" Then
                oName.Delete
              End If
            End If
        End If
    Next oName

'On Error GoTo 0  ' nur nötig wenn Makro hier weiter laufen sollte 
End Sub
Gruß Tino
Anzeige
Danke: Prima, jetzt sind sie gelöscht.
05.12.2009 17:15:12
Claudia
;

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