Excel VBA - Überschrift aus benannter Tabelle lesen

MickH74

Lieutenant
Registriert
Apr. 2009
Beiträge
591
Hallo,

kann mir jemand sagen, wie ich per VBA die Spalten einer benannten Tabelle per Namen (also Überschrift) anspreche?
Ich möchte also beispielsweise den 5. Wert aus einer Spalte "Land" die sich in der Tabelle "Kunden" befindet auslesen.

Edit: Das hier funktioniert, allerdings verstehe ich das erste Argument in den eckigen Klammern [#All] nicht:
Range("A1").Value = Range("Kunden[[#All],[Land]]").Cells(5, 1).Value
Könnte mir das jemand erklären?

Danke!
Mick
 
Zuletzt bearbeitet:
Hallo,

ich hätte besser benannter Bereich statt benannter Tabelle schreiben sollen.

Leider lösen eure Vorschläge mein Problem nicht. Die Spalte, die den gesuchten Wert enthält kann sich (z.B. durch neu eingefügte Spalten) ändern. Ich brauche also eine absolute Referenzierung über den Kopfnamen der Spalte in dem benannten Bereich.
Hab aber meinen Post oben editiert und eine Lösung geschrieben. Die funktioniert, aber ich würde sie gerne noch verstehen.

Danke und Gruß,
Mick
 
Schau Dir mal Index und Vergleich an, das funktioniert sehr wohl für Dein Problem.
Anstelle der Tabelle kannst Du auch einen benannten Bereich als Matrix definieren.
 
Moin,

ich finde es faszinierend, wie hier gezielt um den (klar definierten) Brei herum geredet wird. Die Frage war doch nicht, wie man das auch anders machen kann (denn es läuft ja so) sondern was der bewusste Parameter #All bewirkt.

OK, die Tabelle/Liste hat den Bereichsnamen "Kunden". Und wenn du jetzt beispielsweise in VBA die Zeile
Code:
Range("Kunden[#All]").Select
eingibst, wird doch tatsächlich ALL (also die gesamte Tabelle/Liste markiert ... auch das ist faszinierend ;).
Die Raute davor kann ich mir nur so erklären, dass "All" ein Schlüsselwort in VBA ist und so Verwechselungen ausgeschlossen werden.
 
Zurück
Oben