Microsoft Excel

Herbers Excel/VBA-Archiv

in einem Range navigieren?

Betrifft: in einem Range navigieren? von: pasya
Geschrieben am: 12.08.2008 09:58:40

Hallo zusammen,

wie kann man in einem Range navigieren? Z.b. ich habe Zeilen mit dem Autofilter gefiltert und möchte jetzt auf bestimmte Werte bestimmter Spalten zugreifen.

.Cells(row, 1).Value = wkstArtikeln.UsedRange.Columns("$A:$A").SpecialCells(xlCellTypeVisible).Offset(1, 0).Value

bei dem Befehl greife ich nicht auf die gefilterte sondern auf die 2. Zelle bzw. Zeile allgemein!

Danke

  

Betrifft: AW: in einem Range navigieren? von: fcs
Geschrieben am: 12.08.2008 10:38:52

Hallo Pasya,

bei gefilterten Tabellen ist es nicht ohne weiteres möglich bestimmte Zeilen gezielt anzusprechen.

Man kann "nur" in einer Schleife den Hidden-Status der Zeilen abfragen und so z.b die Zeilennummer der 3. sichtbaren Zeile bestimmen und dann auf die Daten in dieser Zeile zugreifen.

Gruß
Franz


  

Betrifft: AW: in einem Range navigieren? von: Yal
Geschrieben am: 12.08.2008 10:45:53

Hallo Pasya,

es liegt an dem ".OffSet(1,0)", es nimmt die Werte der Zelle eine Zeile unter in der selben Spalte. Diese berücksichtigt nicht, dass Du innerhalb des "SpecialCells(xlCellTypeVisible)" suchen möchte.

Wenn Du alle Zellen in diesem Bereich nacheinander scannen möchtest, kommt vielleich folgende Code zu Nutze:

For each Z in wkstArtikeln.UsedRange.Columns("$A:$A").SpecialCells(xlCellTypeVisible)
If Z.Value = ... Then ...
Next Z

Viel Erfolg
Yal