Benannte Bereiche in Excel mit VBA ausfindig machen
Schritt-für-Schritt-Anleitung
-
Öffne Excel und aktiviere das gewünschte Arbeitsblatt.
-
Öffne den VBA-Editor mit Alt + F11
.
-
Füge ein neues Modul hinzu:
- Klicke im Menü auf
Einfügen
> Modul
.
-
Kopiere den folgenden Code in das Modul:
Sub AlleNamenProtokollieren()
Dim benannteBereiche As Object
Sheets("Tabelle1").Activate
Range("A1").Select
For Each benannteBereiche In ActiveWorkbook.Names
ActiveCell.Value = benannteBereiche.Name
ActiveCell.Offset(0, 1).Value = ActiveWorkbook.Names.Item(benannteBereiche.Name)
ActiveCell.Offset(1, 0).Select
Next
End Sub
-
Führe das Makro aus:
- Drücke
F5
oder gehe zu Ausführen
> Sub/UserForm ausführen
.
-
Überprüfe die Ergebnisse in der Tabelle. Deine benannten Bereiche sollten nun aufgelistet sein.
Häufige Fehler und Lösungen
Alternative Methoden
Wenn du die benannten Bereiche in Excel nur auf einem bestimmten Blatt anzeigen möchtest, kannst du den folgenden Code verwenden:
Sub AlleNamen_eine_Tabelle()
Dim ObBenannteBereiche As Object
Dim StName As String
Worksheets("Tabelle1").Unprotect
For Each ObBenannteBereiche In ActiveWorkbook.Names
StName = ActiveWorkbook.Names.Item(ObBenannteBereiche.Name)
If Mid(StName, 2, InStr(StName, "!") - 2) = "Tabelle1" Then
With Range(ObBenannteBereiche.Name).Interior
.ColorIndex = 19
.Pattern = xlSolid
End With
End If
Next
Worksheets("Tabelle1").Protect
End Sub
Praktische Beispiele
Hier ist ein Beispiel, wie du benannte Bereiche in Excel einfärben kannst:
Sub ZweiteZeileFaerben()
Dim benannteBereiche As Object
Dim r&, s&, i&, e%
Dim strName As Range
Application.ScreenUpdating = False
For Each benannteBereiche In ActiveWorkbook.Names
Set strName = Range(benannteBereiche)
r = strName.Row
i = strName.Row + strName.Rows.Count - 1
e = strName.Column + strName.Columns.Count - 1
' Alte Farben löschen:
Range(Cells(r, 1), Cells(i, e)).Interior.ColorIndex = xlColorIndexNone
' Jede zweite Zeile färben:
For s = r To i Step 2
Range(Cells(s, 1), Cells(s, e)).Interior.ColorIndex = 19
Next s
Next
Range("A9").Select
End Sub
Dieses Makro färbt jede zweite Zeile in den benannten Bereichen ein und entfernt vorherige Farben.
Tipps für Profis
- Verwende
Application.ScreenUpdating = False
, um die Ausführungsgeschwindigkeit deiner Makros zu erhöhen.
- Nutze
Option Explicit
am Anfang deines Moduls, um sicherzustellen, dass alle Variablen deklariert werden.
- Dokumentiere deinen Code, um die Wartbarkeit zu verbessern.
FAQ: Häufige Fragen
1. Wie kann ich alle benannten Bereiche in Excel anzeigen?
Du kannst das obenstehende Makro AlleNamenProtokollieren
verwenden, um eine Liste aller benannten Bereiche in deiner Tabelle zu erstellen.
2. Wie ändere ich einen bestehenden benannten Bereich?
Verwende die Registerkarte "Formeln" in Excel, um den Namen zu bearbeiten oder die Größe des benannten Bereichs zu ändern.
3. Was ist der Unterschied zwischen einem benannten Bereich und einem benannten Zellbereich?
Ein benannter Bereich kann eine oder mehrere Zellen umfassen, während ein benannter Zellbereich in der Regel auf eine einzelne Zelle verweist.