Вопрос
В Excel имеется длинная таблица. Как програмно в VBA определить конец страницы ?
Ответ
Чтобы определить количество строк в таблице можно сделать так, если таблица начинается с первой строки в первом столбце листа:
ActiveSheet.Cells(1,1).Select
Selection.CurrentRegion.Select
R = Selection.Rows.Count
C = Selection.Columns.Count
В R будет количество строк в таблице, если таблица не имеет разрывов, т.е. не имеет полностью пустых строк.
В C — количество столбцов в таблице, если нет полностью пустых столбцов (впрочем, если заголовки есть во всех столбцах, то это уже решает все).
Или можно использовать функцию counta, которая эквивалентна функции вроде бы СЧЕТЗН в русской версии (не уверен, у меня английская):
R = WorksheetFunction.CountA(Range(«A1:A65536»)) 'сосчитает количество непустых значений в первом столбце листа
C = WorksheetFunction.CountA(Range(«A1:IV1»)) 'сосчитает количество непустых значений в первой строке листа
Правда в данном случае, нужно быть уверенным, что на листе нет других таблиц.
Если таблица имеет сложную структуру и есть несмежные области данных, то скорее всего придется делать цикл и перебирать все строки пока не обнаружится конец таблицы.
Из конференции Expert_FAQ
Copyright 2000-2004 Сообщество Чайников
Контактная информация