Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen

Namen löschen | Herbers Excel-Forum


Betrifft: Namen löschen von: Claudia
Geschrieben am: 05.12.2009 16:31:06

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

  

Betrifft: AW: Namen löschen von: Josef Ehrensberger
Geschrieben am: 05.12.2009 16:41:46

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



  

Betrifft: AW: Namen löschen von: Claudia
Geschrieben am: 05.12.2009 16:44:28

Hallo Sepp,

da passiert irgendwie gar nix. :-)


  

Betrifft: AW: Namen löschen von: Josef Ehrensberger
Geschrieben am: 05.12.2009 16:51:43

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



  

Betrifft: OR nicht AND von: F1
Geschrieben am: 05.12.2009 16:46:32

ot


  

Betrifft: Namen doppelt vergeben von: Claudia
Geschrieben am: 05.12.2009 16:56:11

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


  

Betrifft: hier mein Vorschlag dazu von: Tino
Geschrieben am: 05.12.2009 17:07:24

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


  

Betrifft: Danke: Prima, jetzt sind sie gelöscht. von: Claudia
Geschrieben am: 05.12.2009 17:15:12




Beiträge aus den Excel-Beispielen zum Thema "Namen löschen"