Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Nur eine bestimmte Spalte einer Matrix

Nur eine bestimmte Spalte einer Matrix
pastinake
Help !
Irgendwie stehe ich auf dem Schlauch. Ich habe einen dynamischen Bereichsnamen, aus dem ich alle Werte der 1. Spalte dieser Matrix abfragen möchte.
Also Set Suchbereich = "Spalte 1 aus Matrix"
Vielen Dank
Bernd
Anzeige

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
..=Range("Bereichsname").Columns(1) owT
11.05.2011 13:58:56
Rudi
AW: ..=Range("Bereichsname").Columns(1) owT
11.05.2011 14:03:02
pastinake
oh mein Gott wie peinlich...
DANKE Rudi
AW: ..=Range("Bereichsname").Columns(1) owT
11.05.2011 14:16:34
pastinake
Nachtrag...
Hallo Rudi,
scheint nur so zu gehen:
rngSuchbereich = Range(Range("db").Columns(1).Address)
Dennoch Danke,- Du hast meine Blockade gelöst !
Bernd
Anzeige
Range(Range("db")....
11.05.2011 16:12:07
Rudi
Hallo,
das gibt möglicherweise einen völlig falschen Bereich wieder.
Bsp.: DB=Tabelle1!A1:D100. Range("db").Columns(1).Address ergibt dann A1:A100.
Wenn du dich jetzt aber auf Tabelle2 befindest, wird Suchbereich zu Tabelle2!A1:A100.
Das gibt immer den richtigen Bereich wieder:
Sub DatenAuslesen()
Dim Zelle As Range, rngSuchbereich As Range
Set rngSuchbereich = Range("db").Columns(1)
For Each Zelle In rngSuchbereich.Cells
Debug.Print Zelle.Value, Zelle.Address, rngSuchbereich.Address
Next Zelle
End Sub

Gruß
Rudi
Anzeige
AW: Range(Range("db")....
11.05.2011 16:50:15
pastinake
Hallo Rudi,
Du hast Recht,- Danke. Mir fehlte .cells im Suchbereich.
Nur verstehen kann ich es noch nicht.
Grenze ich den Bereichsnamen nicht zusätzlich durch .columns(1) ein, läuft es auch ohne .cells im Suchbereich:
Sub test3()
Dim rngBereich As Range, zelle As Range
Set rngBereich = Range("db")
For Each zelle In rngBereich
Debug.Print zelle.Value, zelle.Address, rngBereich.Address
Next zelle
End Sub

Grenze ich mit .columns(1) weiter ein, muss ich auch ein .cells verwenden, sonst ernte ich einen Überlauf.
Sub test3()
Dim rngBereich As Range, zelle As Range
Set rngBereich = Range("db").Columns(1)
For Each zelle In rngBereich.Cells
Debug.Print zelle.Value, zelle.Address, rngBereich.Address
Next zelle
End Sub

Erschliesst sich mir nicht. Auf jeden Fall habe ich Dank DIR genau die richtige Lösung
Bernd
Anzeige
AW: Nur eine bestimmte Spalte einer Matrix
11.05.2011 14:02:19
Peter
Hallo Bernd,
vielleicht so:
Option Explicit
Public Sub MatrixAbfragen()
Dim WkSh     As Worksheet
Dim lLetzte  As Long
Dim vTemp    As Variant
Dim lZeile  As Long
Set WkSh = ThisWorkbook.Worksheets("Tabelle1")
lLetzte = WkSh.Cells(Rows.Count, 1).End(xlUp).Row
Set vTemp = WkSh.Range("A1:A" & lLetzte)
For lZeile = 1 To lLetzte
MsgBox vTemp(lZeile, 1)
Next lZeile
End Sub

Gruß Peter
Anzeige
AW: Nur eine bestimmte Spalte einer Matrix
11.05.2011 14:19:05
pastinake
Hallo Peter,
Danke für Deine Mühe. Ich habe es mit dem Ansatz von Rudi in den griff bekommen:
Sub DatenAuslesen()
Dim Zelle As Range, rngSuchbereich As Range
Set rngSuchbereich = Range(Range("db").Columns(1).Address)
For Each Zelle In rngSuchbereich
Debug.Print Zelle, Zelle.Address, rngSuchbereich.Address
Next Zelle
End Sub
Gruß
Bernd
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige