СообЧа > База Знаний > Программы > MS Excel

Вопрос

В 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 Сообщество Чайников
Контактная информация