Hallo zusammen
Ich habe einen Sub den ich in jeder Zeile einer Range ausführen möchte. Das geschieht jetzt mit einer For each Loop und rowoffset.
Solange die Range aus aneinaderliegenden Zeilen besteht geht das auch so, aber wie mache ich das wenn es einzelne Zeilen sind, gibt es einen Befehl der direkt zur nächsten aktiven Zeile springt?
1 |
Aktiviert -> Sub ausführen |
2 |
Aktiviert -> Sub ausführen |
3 |
inaktiv -> überspringen |
4 |
Aktiviert -> Sub ausführen |
5 |
inaktiv -> überspringen |
6 |
inaktiv -> überspringen |
7 |
inaktiv -> überspringen |
8 |
Aktiviert -> Sub ausführen |
9 |
Aktiviert -> Sub ausführen |
Sub ddd()
Dim rng As Range
Dim b As Range
Set rng = Selection
Dim rowc As Integer
rowc = Selection.Rows.Count
For i = 1 To rowc
If Not Intersect(ActiveCell, rng) Is Nothing Then GoTo Vorhanden
MsgBox "stimmt nicht überein" 'diese Zeile überspringen
GoTo Nächste
Vorhanden:
MsgBox "stimmt überein" 'makro ausführen
Nächste:
ActiveCell.Offset(rowOffset:=1, columnOffset:=0).Activate
Next i
End Sub
Ich hab mal das hier probiert, das mit rows.count funktioniert jedoch nicht wenn die Zeilen nicht angrenzend sind.
|