Bereichsnamen in Excel mit VBA ändern
Schritt-für-Schritt-Anleitung
Um einen Bereichsnamen in Excel mithilfe von VBA zu ändern, kannst du folgende Schritte befolgen:
-
Öffne Excel und drücke ALT + F11
, um den VBA-Editor zu öffnen.
-
Füge ein neues Modul hinzu, indem du im Menü auf Einfügen
> Modul
klickst.
-
Kopiere und füge den folgenden Code in das Modul ein:
Sub PersonalkostenUmbenennen()
Dim wksStammdaten As Worksheet
Set wksStammdaten = ActiveWorkbook.Sheets("Stammdaten")
wksStammdaten.Names("Personalkosten").Name = "Personalaufwand"
End Sub
-
Schließe den VBA-Editor und führe das Makro aus, indem du auf Entwicklertools
> Makros
klickst und dein Makro auswählst.
Achte darauf, dass du den richtigen Namen im Namensmanager verwendest, wenn du den Bereichsnamen änderst.
Häufige Fehler und Lösungen
Ein häufiger Fehler tritt auf, wenn du versuchst, den alten Namen zu löschen, nachdem du ihn geändert hast. Hier sind einige Lösungen:
-
Fehler 1004: Dieser Fehler kann auftreten, wenn der alte Name nicht mehr existiert. Stelle sicher, dass du den Namen nur einmal änderst und nicht versuchst, ihn danach zu löschen.
- Lösung: Verwende nur den Code zum Umbenennen, ohne den Löschbefehl.
-
Alte Namen im Namensmanager: Wenn du sowohl den alten als auch den neuen Namen im Namensmanager siehst, könnte dies daran liegen, dass du den Namen falsch referenziert hast.
- Lösung: Stelle sicher, dass du
ActiveWorkbook.Names("Personalkosten").Name = "Personalaufwand"
verwendest, um den Namen korrekt zu ändern.
Alternative Methoden
Eine alternative Methode, um einen Bereichsnamen zu ändern, ist die Verwendung einer Schleife, um spezifische Namen zu ändern. Hier ist ein Beispiel:
Sub Name_change()
For Each nm In ActiveWorkbook.Names
If nm.Name = "Personalkosten" Then
nm.Name = "Personalaufwand"
End If
Next nm
End Sub
Diese Methode ist nützlich, wenn du mehrere Namen in einem Schritt ändern möchtest, ohne alle Namen manuell anpassen zu müssen.
Praktische Beispiele
Hier sind einige praktische Beispiele, um den Bereichsnamen in Excel zu ändern:
-
Einfaches Umbenennen:
Sub BeispielUmbenennen()
ActiveWorkbook.Names("AlteBezeichnung").Name = "NeueBezeichnung"
End Sub
-
Überprüfung und Umbenennung:
Sub BeispielPrüfung()
Dim nm As Name
For Each nm In ActiveWorkbook.Names
If nm.Name = "AlteBezeichnung" Then
nm.Name = "NeueBezeichnung"
End If
Next nm
End Sub
Diese Beispiele zeigen, wie du Excel Bereichsnamen effizient ändern kannst, ohne Fehler im Namensmanager zu verursachen.
Tipps für Profis
- Verwende den Namensmanager: Überprüfe im Namensmanager, dass der alte Name wirklich gelöscht wurde, nachdem du den neuen Namen festgelegt hast.
- Namen konsistent halten: Halte deinen Namenskonventionen in Excel konsequent, um Verwirrung zu vermeiden.
- Debugging: Nutze
Debug.Print
, um den aktuellen Status der Namen zu überprüfen, bevor du Änderungen vornimmst.
FAQ: Häufige Fragen
1. Warum sehe ich den alten Namen im Namensmanager?
Der alte Name bleibt im Namensmanager, wenn du ihn nicht richtig gelöscht hast. Stelle sicher, dass du den korrekten Code verwendest, um den Namen zu ändern.
2. Kann ich mehrere Namen gleichzeitig ändern?
Ja, du kannst eine Schleife verwenden, um alle gewünschten Namen in einer Arbeitsmappe zu ändern, wie im Beispiel gezeigt.
3. Welche Excel-Version benötige ich für VBA?
VBA ist in den meisten modernen Excel-Versionen verfügbar, einschließlich Excel 2010, 2013, 2016, 2019 und Microsoft 365.