Wenn ich zB die Zeilen 3 - 8 markiere (6 Zeilen) und Selection.Rows.Count abfrage kommt 6 heraus - soweit, so gut!
Wenn ich nun aber die Zeilen 3, 5-7 markiere (4 Zeilen) kommt 1 raus weil Excel das mit der unzusammenhängenden Markierung irgendwie nicht checkt - gibts da eine Möglichkeit das zu umgehen? Also damit dann doch 4 zurückgeliefert wird?
Wenn ich zB die Zeilen 3 - 8 markiere (6 Zeilen) und
Selection.Rows.Count abfrage kommt 6 heraus - soweit, so gut!
Wenn ich nun aber die Zeilen 3, 5-7 markiere (4 Zeilen) kommt
1 raus weil Excel das mit der unzusammenhängenden Markierung
irgendwie nicht checkt - gibts da eine Möglichkeit das zu
umgehen? Also damit dann doch 4 zurückgeliefert wird?
Hallo Wotan,
spontan fällt mir dazu erstmal nur ein Workaround ein:
Sub tt()
Dim S As Range, Zei As Long
Range("3:8").Select
MsgBox Selection.Rows.Count
Range("3:3, 5:7").Select
For Each S In Selection.Rows
Zei = Zei + 1
Next S
MsgBox Zei
End Sub
Wenn ich zB die Zeilen 3 - 8 markiere (6 Zeilen) und
Selection.Rows.Count abfrage kommt 6 heraus - soweit, so gut!
Hier markierst Du einen einzelnen Bereich…
Wenn ich nun aber die Zeilen 3, 5-7 markiere (4 Zeilen) kommt
1 raus weil Excel das mit der unzusammenhängenden Markierung
irgendwie nicht checkt - gibts da eine Möglichkeit das zu
umgehen? Also damit dann doch 4 zurückgeliefert wird?
…und hier dann eben mehrere die nicht zusammenhängen.
Daher musst Du alle Einzelbereiche der Markierung durchlaufen und die Rows darin addieren - das klappt dann natürlich auch, wenn nur ein Bereich markiert ist:
Public Sub tr()
Dim rngArea As Range
Dim lngRows As Long
For Each rngArea In Selection.Areas
lngRows = lngRows + rngArea.Rows.Count
Next rngArea
MsgBox lngRows
End Sub