Модераторы: mihanik
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как получить высоту/ширину таблицы в Excell, (координаты последней непустой ячейки) 
:(
    Опции темы
Coriolis
  Дата 22.2.2006, 13:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ищущий
*


Профиль
Группа: Участник
Сообщений: 101
Регистрация: 22.8.2005

Репутация: нет
Всего: 1



Вот такая проблема. Пишу универсальный импортер xls файлов, при импорте надо знать высоту таблицы. Раньше делал так: перебирал все строки, пока не встречал пустую строку(для надёжности я проверял ещё и несколько строчек вниз). Но при таком методе возникают две проблемы:
1) Я не знаю ширину таблицы – сколько ячеек в строке проверять – не все же 256?
2) В теории я могу наткнутся на блок пустых строк и посчитать это концом таблицы, а на самом деле это будет просто пробел в данных.
Естественно, первая проблема более серьёзна.
По идее как-то в Excell можно получить непустую ячейку с максимальной координатой по x и y.
PM MAIL   Вверх
Akina
Дата 22.2.2006, 14:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 26
Всего: 454



Поиск по слову SpecialCells - по конфе, по встроенной справке, по Инету...


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
Coriolis
Дата 22.2.2006, 14:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ищущий
*


Профиль
Группа: Участник
Сообщений: 101
Регистрация: 22.8.2005

Репутация: нет
Всего: 1



Ок!
Нашёл! Пасибо!

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

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

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


PM MAIL   Вверх
Staruha
Дата 22.2.2006, 20:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1292
Регистрация: 1.2.2004
Где: Казань

Репутация: 13
Всего: 27



Цитата

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

Код

UsedRange.Range("A1").Select

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


--------------------
Возмездие настигнет
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Программирование, связанное с MS Office"
mihanik staruha

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами



  • Несанкционированная реклама на форуме запрещена
  • Пожалуйста, давайте своим темам осмысленный, информативный заголовок. Вопль "Помогите!" таковым не является.
  • Чем полнее и яснее Вы изложите проблему, тем быстрее мы её решим.
  • Оставляйте свои записи в "Книге отзывов о работе администрации"
  • А вот тут лежит FAQ нашего подраздела


Если Вам понравилась атмосфера форума, заходите к нам чаще!
С уважением mihanik и staruha.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Программирование, связанное с MS Office | Следующая тема »


 




[ Время генерации скрипта: 0.0645 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.