Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1212to1216
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

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

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
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
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

320 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige