Проблема с вашим кодом лежит внутри SearchRange(FoundPos)
. Это работает только в этом приложении, если SearchRange
диапазон начинается в строке 1.
Изменяя диапазон на A21:A32
, ваша переменная FindPos будет 21
для первого случая.
В результате SearchRange(FoundPos)
возвращается 21-й ряд вашего диапазона, а именно A41
.
Множество способов исправить это, но чтобы внести минимальные изменения в код, вы можете попробовать заменить SearchRange(FoundPos)
на ActiveSheet.Cells(FoundPos, SearchRange.Column)
.