Das Problem mit Ihrem Code liegt darin SearchRange(FoundPos)
. Dies funktioniert nur in dieser Anwendung, wenn der SearchRange
Bereich in Zeile 1 beginnt.
Wenn Sie den Bereich in ändern A21:A32
, gilt Ihre FindPos-Variable 21
für den ersten Fall.
Dies führt dazu SearchRange(FoundPos)
, dass die 21. Reihe Ihres Bereichs zurückgegeben wird, nämlich A41
.
Viele Möglichkeiten, dies zu beheben, aber nur minimale Änderungen im Code zu machen, könnten Sie versuchen, zu ersetzen SearchRange(FoundPos)
mit ActiveSheet.Cells(FoundPos, SearchRange.Column)
.