Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.03.2009, 12:40   #1
Bezdar
Форумчанин
 
Регистрация: 03.06.2008
Сообщений: 213
По умолчанию определение последней заполненной ячейки

определяю последнюю заполненную ячейку
... range().end(xlDown).row

Определяет корректно.
Но! В некоторых файлах определяет последнюю заполненную ячейку - 65536.
Абсурд какой-то. В листе заполнено максимум 30-40 строк, а не все подряд до 65536.
Bezdar вне форума Ответить с цитированием
Старый 19.03.2009, 12:45   #2
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

range("ячейка").end(xlDown).row равносильно выделению ячейки с последующим нажатием Ctrl + СтрелкаВниз

Поставьте курсор в пустую ячейку ниже таблицы, и нажмите указанную комбинацию клавиш.
Вы и попадёте на строку 65536.

Последнюю заполненную ячейку лучше определять так:
Выделяем ячейку в нужном столбце в строке 65536, и нажимаем Ctrl + СтрелкаВверх

В виде кода это выглядит так:
Код:
dim ПоследняяЯчейка as range
set ПоследняяЯчейка = range("b65000").end(xlup)

НомерПоследнейСтроки = range("b65000").end(xlup).row

Последний раз редактировалось EducatedFool; 12.06.2009 в 18:16.
EducatedFool вне форума Ответить с цитированием
Старый 19.03.2009, 13:11   #3
Bezdar
Форумчанин
 
Регистрация: 03.06.2008
Сообщений: 213
По умолчанию

Вашу логику поняла, но всегда пользовалась этим кодом, и никогда он меня не подводил (точно указывал, какая последняя заполненная ячейка в определяемом столбце).
Попадались файлы, в которых были указаны строки (не 65536), а скажем, на несколько строк ниже последней заполненной. Пыталась в таком случае удалить все значения из этих строк (визуально они не были заполнены) - все равно читал не последнюю заполненную. Только когда удаляла эти "лишние" строки, определял все, как надо. Думаю, дело не в коде.
Bezdar вне форума Ответить с цитированием
Старый 19.03.2009, 15:28   #4
Bezdar
Форумчанин
 
Регистрация: 03.06.2008
Сообщений: 213
По умолчанию

Проэкспериментировала. Сделала копию с "больного" файла, удалила все пустые строки по 65536. В файле-копии определяет 39 строк, в оригинале - 65536. Чтобы это значило?
Bezdar вне форума Ответить с цитированием
Старый 20.03.2009, 09:55   #5
Bezdar
Форумчанин
 
Регистрация: 03.06.2008
Сообщений: 213
По умолчанию

Борьба с Excel-ем протекает с переменным успехом. "Больной" файл самоизлечился и стал показывать 39 строк.
Bezdar вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Определение номера последней строки выделенного диапазона НеВа6464 Microsoft Office Excel 2 17.05.2009 14:36
Поиск последней записи в определенной строке Maxx Microsoft Office Excel 5 04.03.2009 14:01
Подскажите иной способ нахождения последней пустой ячейки! Maxx Microsoft Office Excel 6 29.12.2008 11:40
Определение выделенной ячейки в таблице в Delphi Гео Помощь студентам 3 13.06.2008 14:51
как найти длину последней подстроки в паскале Artem1987 Помощь студентам 1 27.12.2007 18:17