Я делаю отладку для шаблона VBA.
Макрос позволяет пользователям выбирать файл Excel для импорта, затем он проверяет каждый столбец, соответствуют ли они требованиям.
Когда я пытаюсь импортировать файл, я всегда получаю сообщение об ошибке «oveeflow» со следующей строкой:
'maxRow = ws.Range(Cells(StartRow, AdditionalInfoColumns.OtherInfo).Address).End(xlDown).Row
Мой коллега говорит мне, что мне просто нужно добавить end (xlDown) .End (xlup) так:
maxRow = ws.Range(Cells(StartRow, AdditionalInfoColumns.OtherInfo).Address).End(xlDown).End(xlDown).End(xlUp).Row
И это работает! Я не знаю почему. Поэтому я пытаюсь сделать это более простым способом:
maxRow = ws.Range(Cells(StartRow, 1).Address, Cells(StartRow, 3).Address).End(xlDown).End(xlUp).Row
Это также работает.
Может кто-нибудь объяснить, почему это работает? Спасибо за ваш ответ.
PS: значения xlDown и xlUp составляют -4121 и -4162.
С наилучшими пожеланиями
Кай