Для большего изобличения в "нечестности" Excel нужно перед таблицей добавить несколько пустых неформатированных строк.В этом случае будет видна ошибка определения строки в тесте4
В работах использую три варианта:
- когда уверен, что первая строка всегда в диапазоне пользователя
- когда не уверен или выше есть неформатированные пустые строки
Код |
---|
.UsedRange.Rows.Count + .UsedRange.Row - 1 |
- когда уверен, что фильтр на листе не применяется или после раскрытия всех строк:
Код |
---|
.Cells(.Rows.Count, 1).End(xlUp).Row |
Часто пользователи по неумению (недосмотру) форматируют диапазоны строк, которые намного превышают количество строк с данными. В .UsedRange попадут все. Это тоже нужно учитывать.
Недавно такое: на листе применяется фильтр, пользователи любят "украшать" лишние строки (запретить нельзя):
.UsedRange, потом в цикле искал последнее значение (в данных могли быть пропуски) и удалял лишние строки.