hat jemand ne idee, wie ich per VBA den Bereichsnamen auslesen kann ?
Cells(i,j).Name etc. liefert mir immer nur Spalte/Zeile Werte aber nicht den Bereichsnamen.
Dazu wäre noch wichtig, wie ich diesem Namen weitere Zellen zuweisen kann.
Grüße Micha
Sub Name_ermitteln()
Dim nm As Name
For Each nm In ActiveWorkbook.Names
If Not Application.Intersect(ActiveCell, Range(nm.RefersToRange.Address)) Is Nothing Then
MsgBox nm.Name
Exit Sub
End If
Next
MsgBox "Aktive Zelle gehört zu keinem mit Namen versehenen Bereich"
End Sub
Sub Name_ermitteln()
Dim nm As Name, rg As Range
For Each nm In ActiveWorkbook.Names
Set rg = nm.RefersToRange
If ActiveCell.Parent.Name = rg.Parent.Name Then
'aktive Zelle und der Name müssen sich im gleichen TB befinden
If Not Application.Intersect(ActiveCell, nm.RefersToRange) Is Nothing Then
MsgBox ActiveCell.Address & " befindet sich in folgendem Namensverbund: " & nm.Name
End If
Exit Sub
End If
Next
MsgBox "Aktive Zelle gehört zu keinem mit Namen versehenen Bereich"
End Sub
Gruß von Luschi
aus klein-Paris
Um in Excel VBA definierte Namen auszulesen, kannst du die folgende Schritt-für-Schritt-Anleitung befolgen:
Sub Name_ermitteln()
Dim nm As Name
For Each nm In ActiveWorkbook.Names
If Not Application.Intersect(ActiveCell, Range(nm.RefersToRange.Address)) Is Nothing Then
MsgBox nm.Name
Exit Sub
End If
Next
MsgBox "Aktive Zelle gehört zu keinem mit Namen versehenen Bereich"
End Sub
Sub Name_ermitteln()
Dim nm As Name, rg As Range
For Each nm In ActiveWorkbook.Names
Set rg = nm.RefersToRange
If ActiveCell.Parent.Name = rg.Parent.Name Then
If Not Application.Intersect(ActiveCell, nm.RefersToRange) Is Nothing Then
MsgBox ActiveCell.Address & " befindet sich in folgendem Namensverbund: " & nm.Name
End If
Exit Sub
End If
Next
MsgBox "Aktive Zelle gehört zu keinem mit Namen versehenen Bereich"
End Sub
Wenn du Excel VBA Bereichsnamen auslesen möchtest, gibt es auch andere Methoden:
NAMES
in Excel verwenden, um alle definierten Namen anzuzeigen.Hier sind einige praktische Beispiele für die Verwendung von VBA zur Ermittlung von Bereichsnamen:
Sub AlleNamenAnzeigen()
Dim nm As Name
Dim NamenListe As String
For Each nm In ActiveWorkbook.Names
NamenListe = NamenListe & nm.Name & vbCrLf
Next
MsgBox NamenListe
End Sub
Diese Beispiele zeigen, wie du mit VBA definierte Namen auslesen kannst und bieten dir eine Grundlage für komplexere Anwendungen.
1. Wie kann ich alle Namen in meiner Arbeitsmappe auflisten?
Verwende den AlleNamenAnzeigen
Code, um alle definierten Namen in einem Meldungsfenster anzuzeigen.
2. Kann ich auch den Workbook-Namen auslesen?
Ja, du kannst den Workbook-Namen mit ActiveWorkbook.Name
auslesen. Dies ist hilfreich, wenn du die Namen in Bezug auf das aktuelle Workbook verwenden möchtest.
Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden
Suche nach den besten AntwortenEntdecke unsere meistgeklickten Beiträge in der Google Suche
Top 100 Threads jetzt ansehen