Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1120to1124
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

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

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

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

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige