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

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

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

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

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

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 29.12.2008, 10:21   #1
Maxx
Форумчанин
 
Аватар для Maxx
 
Регистрация: 29.10.2008
Сообщений: 294
Радость Подскажите иной способ нахождения последней пустой ячейки!

Я в программировании не силен, поэтому пишу довольно примитивные коды.

Например ячейки A1-A20 заполнены, для нахождения последней пустой ячеки A21 я написал следующий код:

Range("A1").Select
Do While Not ActiveCell.Value = ""
If ActiveCell.Value <> "" Then
ActiveCell.Offset(1, 0).Select
End If
Loop

А если занчений будет 50 000 или 100 000, сколько времени придется ждать для поиска

Может быть есть иной способ?
Maxx вне форума
Старый 29.12.2008, 10:28   #2
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Если нужно найти номер последней заполненной строки, например, в столбце "A", то лучше всего использовать
Код:
r = Cells(Rows.Count, "A").End(xlUp).Row
а если нужно найти вообще номер последней заполненной строки (не зависимо от номера столбца), то можно так:
Код:
r = Cells.SpecialCells(xlCellTypeLastCell).Row
И в первом и во втором случае, переменная "r" будет содержать номер требуемой строки.
Чем шире угол зрения, тем он тупее.
SAS888 вне форума
Старый 29.12.2008, 11:21   #3
Maxx
Форумчанин
 
Аватар для Maxx
 
Регистрация: 29.10.2008
Сообщений: 294
По умолчанию

Действительно, очень простой код!

Но как теперь выбрать эту ячейку:

Range(r).Select естественно не работает :-(((
Maxx вне форума
Старый 29.12.2008, 11:26   #4
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Так можно сразу:
Код:
Cells(Cells(Rows.Count, "A").End(xlUp).Row, "A").Select
Чем шире угол зрения, тем он тупее.
SAS888 вне форума
Старый 29.12.2008, 11:27   #5
Юнлинг
Форумчанин
 
Регистрация: 17.10.2008
Сообщений: 239
По умолчанию

Цитата:
Сообщение от Maxx Посмотреть сообщение
Действительно, очень простой код!

Но как теперь выбрать эту ячейку:

Range(r).Select естественно не работает :-(((
Все указания в

Цитата:
Сообщение от SAS888 Посмотреть сообщение
Если нужно найти номер последней заполненной строки, например, в столбце "A", то лучше всего использовать
Код:
r = Cells(Rows.Count, "A").End(xlUp).Row
а если нужно найти вообще номер последней заполненной строки (не зависимо от номера столбца), то можно так:
Код:
r = Cells.SpecialCells(xlCellTypeLastCell).Row
И в первом и во втором случае, переменная "r" будет содержать номер требуемой строки.
читай внимательно и все станет понятно:

а если желаешь через range:
то
Range("a" & r+1).select
Юнлинг вне форума
Старый 29.12.2008, 11:38   #6
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

А вообще,можно
Код:
Cells(Rows.Count, "A").End(xlUp).Select
а также использовать все доступные св-ва ячейки (.Activate; .Row; .Column; .Value и т.п.)
Чем шире угол зрения, тем он тупее.
SAS888 вне форума
Старый 29.12.2008, 11:40   #7
Maxx
Форумчанин
 
Аватар для Maxx
 
Регистрация: 29.10.2008
Сообщений: 294
По умолчанию

Всем СПАСИБО! Отлично работает!
С наступающим новым годом!
Maxx вне форума
Закрытая тема


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Посоветуйте способ решения задачи alexmilko Помощь студентам 3 20.12.2008 20:39
Определить способ запуска Altera Общие вопросы Delphi 6 08.11.2008 20:26
Как разделить число и текст в одной ячейки на две ячейки. neboskreb Microsoft Office Excel 2 15.04.2008 19:39
как найти длину последней подстроки в паскале Artem1987 Помощь студентам 1 27.12.2007 18:17
Лучший способ помочь программисту с английским. ahtnoyen Свободное общение 12 30.06.2007 22:40