Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Программирование, связанное с MS Office > Как получить высоту/ширину таблицы в Excell


Автор: Coriolis 22.2.2006, 13:33
Вот такая проблема. Пишу универсальный импортер xls файлов, при импорте надо знать высоту таблицы. Раньше делал так: перебирал все строки, пока не встречал пустую строку(для надёжности я проверял ещё и несколько строчек вниз). Но при таком методе возникают две проблемы:
1) Я не знаю ширину таблицы – сколько ячеек в строке проверять – не все же 256?
2) В теории я могу наткнутся на блок пустых строк и посчитать это концом таблицы, а на самом деле это будет просто пробел в данных.
Естественно, первая проблема более серьёзна.
По идее как-то в Excell можно получить непустую ячейку с максимальной координатой по x и y.

Автор: Akina 22.2.2006, 14:18
Поиск по слову SpecialCells - по конфе, по встроенной справке, по Инету...

Автор: Coriolis 22.2.2006, 14:41
Ок!
Нашёл! Пасибо!

Вот, с форума http://forum.mista.ru/

(5) RomaH:
Rows = Ексель.ActiveSheet.UsedRange.Rows.Count;
Columns = Ексель.ActiveSheet.UsedRange.Columns.Count;

(7) Gloom:
Метод SpecialCells не учитывает скрытые ячейки, также его нельзя использовать на защищённых листах. Правильный способ - юзать метод UsedRange(). Правда, как в (5) может быть не всегда корректно - кроме общего количества строк/колонок надо ещё учитывать, что диапазон может начинаться не с первой ячейки листа...


Автор: Staruha 22.2.2006, 20:55
Цитата

начинаться не с первой ячейки листа...

Код

UsedRange.Range("A1").Select

Выделится первая ячейка в диапазоне.Называется адресация внутри диапазона

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)