Страницы: 1
RSS
Определить последний номер заполненных строки и столбца с работающим Ctrl+Z
 
Добрый день.
Вопрос заезженный, но есть нюанс. Необходимо определить последний номер строки и столбца, заполненный, но чтобы при этом Ctrl+Z работал.
Имеется "рваная" динамическая таблица. Эта таблица увеличивается по высоте и ширине.
В листе на событие SelectionChange назначен макрос, который записывает данные в переменную по количеству столбцов и строк.
Данный метод работает, но нюанс возможно известен, что при удалении данных из ячейки номер определяется ошибочно:
Код
R = Cells.SpecialCells(xlLastCell).Row


При использовании данного метода
Код
R = ActiveSheet.UsedRange.Row + ActiveSheet.UsedRange.Rows.Count - 1

Ctrl+Z не работает (один раз не считается)

Пробовал метод и через Macroчегототам, но ситуация как и в первом варианте. Есть выход из данного положения или нет?
Буду благодарен за любую информацию.
Мастерство программиста не в том, чтобы писать программы, работающие без ошибок.
А в том, чтобы писать программы, работающие при любом количестве ошибок.
 
Определить последние заполненные строку и столбец можно так:
Код
R = Cells.Find("*", [A1], xlValues, , xlByRows, xlPrevious).Row 'строка
C = Cells.Find("*", [A1], xlValues, , xlByColumns, xlPrevious).Column 'столбец
Чем шире угол зрения, тем он тупее.
 
Alemox, так можно
Код
R = Cells.Find("*", Cells(1, 1), xlFormulas, xlWhole, xlByRows, xlPrevious).Row
И обработку ошибки предусмотрите, на случай если лист пустой.
Ctrl+Z работать будет, но параметры поиска в окне Ctrl+F будут каждый раз устанавливаться как в команде.
Изменено: Казанский - 06.02.2018 09:51:56
 
SAS888, Казанский Спасибо большое, это то что надо.
Параметры поиска не важны, никто им не пользуется.
Код
R = Cells.Find("*", Cells(1, 1), xlFormulas, xlWhole, xlByRows, xlPrevious).Row
C = Cells.Find("*", Cells(1, 1), xlFormulas, xlWhole, xlByColumns, xlPrevious).Column
Мастерство программиста не в том, чтобы писать программы, работающие без ошибок.
А в том, чтобы писать программы, работающие при любом количестве ошибок.
Страницы: 1
Наверх