ich habe einen Namen (Liste1) definiert, welcher sich bspw. auf den Bereich A1:A10 bezieht.
Wie kann ich per VBA die einzelnen Elemente (Werte A1 bis A10) des Namens (Liste1) auslesen?
Vielen Dank
Armin
Sub ZellbereichAuslesen()
Dim arBereich, lngS As Long, lngZ As Long
arBereich = [Liste1] 'Liste1 ist der benannte Bereich !
For lngZ = LBound(arBereich) To UBound(arBereich)
For lngS = LBound(Application.Transpose(arBereich)) _
To UBound(Application.Transpose(arBereich))
MsgBox "Zeile : " & lngZ & ", Spalte : " & lngS & _
", Inhalt : " & arBereich(lngZ, lngS)
Next
Next
End Sub
Gruß, NoNetUm die Inhalte von definierten Namen in Excel per VBA auszulesen, kannst Du folgende Schritte befolgen:
Öffne Excel und drücke ALT + F11
, um den VBA-Editor zu öffnen.
Erstelle ein neues Modul, indem Du im Projekt-Explorer mit der rechten Maustaste auf "VBAProject" klickst und "Einfügen" > "Modul" auswählst.
Füge den folgenden Code in das Modul ein:
Sub WerteAusNamensbereich()
Dim rngZelle As Range
For Each rngZelle In Range("Liste1")
MsgBox rngZelle
Next rngZelle
End Sub
Schließe den VBA-Editor und führe das Makro aus, indem Du ALT + F8
drückst, das Makro auswählst und auf "Ausführen" klickst.
Dieser Code wird alle Werte im benannten Bereich "Liste1" auslesen und in einer MessageBox anzeigen.
Fehler: „Laufzeitfehler 1004: Anwendung oder Objektdefinierungsfehler.“
Fehler: „Das Makro kann nicht gefunden werden.“
Eine weitere Möglichkeit, um Inhalte definierter Namen auszulesen, ist die Verwendung des Namensmanagers. Du kannst den Namen auch direkt für Berechnungen in Formeln nutzen.
=Liste1
in einer Zelle, um den Inhalt anzuzeigen.Zusätzlich kannst Du den folgenden VBA-Code verwenden, um alle Werte aus dem Namensmanager auszulesen:
Sub NamensmanagerAuslesen()
Dim nm As Name
For Each nm In ThisWorkbook.Names
MsgBox nm.Name & ": " & nm.RefersTo
Next nm
End Sub
Hier sind einige praktische Beispiele, wie Du die VBA-Techniken anwenden kannst:
Auslesen mehrerer Bereiche: Angenommen, Du hast mehrere definierte Namen (z.B. "Liste1", "Liste2"), Du kannst sie in einer Schleife durchlaufen:
Sub MehrereBereicheAuslesen()
Dim nm As Name
For Each nm In ThisWorkbook.Names
MsgBox nm.Name & ": " & nm.RefersTo
Next nm
End Sub
Verwendung in Berechnungen: Du kannst die definierten Namen auch in anderen VBA-Operationen verwenden, um Berechnungen durchzuführen oder die Werte zu analysieren.
1. Wie kann ich alle definierten Namen in Excel auflisten?
Verwende den VBA-Code aus dem Abschnitt „Alternative Methoden“, um alle definierten Namen und deren Bereiche anzuzeigen.
2. Kann ich VBA verwenden, um dynamische Bereiche auszulesen?
Ja, Du kannst dynamische Bereiche in VBA verwenden, solange sie korrekt definiert sind. Der Code wird automatisch die aktuellen Werte auslesen.
3. Wie kann ich den Inhalt eines bestimmten definierten Namens ohne MessageBox ausgeben?
Anstelle von MsgBox
kannst Du die Werte in eine Zelle schreiben, z.B. Range("B1").Value = rngZelle.Value
.
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