Mit Hilfe der Formel weden Werte verglichen. Falls richtig, geht's nach unten zu einem neuen Wort, falls falsch, kann auf einer neuen Zeile ein weiterer Versuch gestartet werden.
Die Variable zeile übernimmt den Wert aus Active.Cell.Row aber erst bei einem zweiten Durchgang. Wenn ich in der Zeile 10 beginne, erhalte ich falsche Zeilensprünge. Erst ab Zeile 15, d.h. in einem neuen Block, reagiert das Programm richtig.
Mit bestem Dank für eure Hilfe!
Guido Bünzli
Private Sub Worksheet_Change(ByVal Target As Range)
Worksheets("Wörterliste").Activate
Dim zeile As Long
Dim zähler As Integer
Dim b As Integer
Dim sprung As Integer
sprung = 5
For zähler = 1 To 3
zeile = ActiveCell.Row
b = zeile Mod 5 'Divisionsrest
If Cells(zeile, 4) = Cells(zeile, 6) Then
ScrollArea = Cells(zeile + sprung - b, 4).Address: Exit For
Else
ScrollArea = Cells(zeile + 1, 4).Address: Exit For
End If
Next
If b = 2 And Cells(zeile, 4) <> Cells(zeile, 6) Then ScrollArea = ActiveCell.Offset(2, 0).Address
End Sub