Discussion:
[VBA] Zeilen abarbeiten aus mehreren markierten Zellbereichen
(zu alt für eine Antwort)
Jörg Eisenträger
2013-04-25 17:50:03 UTC
Permalink
Hallo NG,

in einem Sheet seien mehrere untereinanderliegende, aber nicht
zusammenhängende Zellbereiche selektiert.

Die einzelnen markierten Zellbereiche können sich jeweils über mehrere
Zeilen und Spalten erstrecken.

Ich möchte per VBA nacheinander alle Zeilen abarbeiten, die in den
markierten Zellbereichen liegen.

For each rng in selection erfasst jede _Zelle_ in der Markierung. Ich
suche eine elegante Lösung, um jede _Zeile_ nur einmal zu verarbeiten.

Hat jemand eine Idee?


Gruß
Jörg
--
"One of the best ways to boost your Excel efficiency is also one of the best ways to shoot yourself in the foot."
(Susan Harkins auf www.techrepublic.com/blog/10things/10-mistakes-to-avoid-when-working-with-multiple-worksheets/1961 )
Claus Busch
2013-04-25 18:02:34 UTC
Permalink
Hallo Jörg,
Post by Jörg Eisenträger
in einem Sheet seien mehrere untereinanderliegende, aber nicht
zusammenhängende Zellbereiche selektiert.
Die einzelnen markierten Zellbereiche können sich jeweils über mehrere
Zeilen und Spalten erstrecken.
Ich möchte per VBA nacheinander alle Zeilen abarbeiten, die in den
markierten Zellbereichen liegen.
es kommt darauf an, was du abarbeiten willst. Wenn dir die erste Spalte
der Selection dafür ausreicht, könntest du z.B. mit
For i = 1 to 100
selection.cells(i,1)

arbeiten


Mit freundlichen Grüßen
Claus Busch
--
Win XP Prof SP3 / Vista Ultimate SP2
Office 2003 SP3 /2007 Ultimate SP3
Claus Busch
2013-04-25 20:02:39 UTC
Permalink
Hallo Jörg,
Post by Claus Busch
For i = 1 to 100
selection.cells(i,1)
ich weiß ja nicht, was du machen willst, aber du kannst auch die Zeilen
direkt ansprechen:
For Each rngR In Selection.Rows


Mit freundlichen Grüßen
Claus Busch
--
Win XP Prof SP3 / Vista Ultimate SP2
Office 2003 SP3 /2007 Ultimate SP3
Jörg Eisenträger
2013-04-25 22:21:03 UTC
Permalink
Hallo Claus,
Post by Claus Busch
ich weiß ja nicht, was du machen willst,
Die User sollen eine oder mehrere, auch nicht zusammenhängende Zeilen
markieren, indem sie einfach beliebige Zellen der gewünschten Zeilen
markieren. Ich brauche die Zeilennummern der markierten Zeilen, um dann
aus der Zeile ganz bestimmte Werte in bekannten Spalten auszulesen.
Post by Claus Busch
aber du kannst auch die Zeilen
For Each rngR In Selection.Rows
Genau nach so etwas hatte ich gesucht.

Es müsste dann also so gehen:
For Each rngR In Selection.Rows
AktuelleZeilenNr = rngR.row

Werde ich morgen ausprobieren.
Vielen Dank.


Gruß
Jörg
--
"One of the best ways to boost your Excel efficiency is also one of the best ways to shoot yourself in the foot."
(Susan Harkins auf www.techrepublic.com/blog/10things/10-mistakes-to-avoid-when-working-with-multiple-worksheets/1961 )
Loading...