Последняя ячейка с данными в Excel

Программирование на Visual Basic for Applications
Gudvin
Новичок
Новичок
 
Сообщения: 34
Зарегистрирован: 13.07.2004 (Вт) 13:23

Последняя ячейка с данными в Excel

Сообщение Gudvin » 16.07.2004 (Пт) 12:00

Как ее найти? А то все 65k*256 ячеек не хочется перебирать...

Думал, что поможет Rows или Columns, ан нет...

RayShade
Scarmarked
Scarmarked
Аватара пользователя
 
Сообщения: 5511
Зарегистрирован: 02.12.2002 (Пн) 17:11
Откуда: Russia, Saint-Petersburg

Сообщение RayShade » 16.07.2004 (Пт) 12:20

Поможет тебе поиск по форуму.
I don't understand. Sorry.

Gudvin
Новичок
Новичок
 
Сообщения: 34
Зарегистрирован: 13.07.2004 (Вт) 13:23

Сообщение Gudvin » 16.07.2004 (Пт) 12:24

Дык искал... Пока нет ответа...

Tanya
Обычный пользователь
Обычный пользователь
 
Сообщения: 98
Зарегистрирован: 03.03.2004 (Ср) 21:41
Откуда: Беларусь, Минск

Сообщение Tanya » 16.07.2004 (Пт) 12:26

Свойство UsedRange объекта Worksheet возвращает используемый диапазон на листе.
Последняя ячейка с данными на листе Sheet1:

Код: Выделить всё
Sheet1.cells(Sheet1.UsedRange.Rows.Count, Sheet1.UsedRange.Cols.Count)

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 16.07.2004 (Пт) 12:56

Плохо искал.
Поищи по ключевому слову "SpecialCell"
Lasciate ogni speranza, voi ch'entrate.

Gudvin
Новичок
Новичок
 
Сообщения: 34
Зарегистрирован: 13.07.2004 (Вт) 13:23

Сообщение Gudvin » 16.07.2004 (Пт) 14:19

2Tanya. Супер. Ща попробую
2alibek. Так зная ключевое слово можно и в хелпе искать Впрочем на форуме нет.

Raul
Начинающий
Начинающий
 
Сообщения: 7
Зарегистрирован: 25.06.2004 (Пт) 10:17

Сообщение Raul » 16.07.2004 (Пт) 14:37

Gudvin писал(а):Думал, что поможет Rows или Columns, ан нет...


Если в столбце, то например так:

ThisWorkbook.Worksheets(Имя_Листа).Columns(Номер_Столбца).End(xlDown).Address
-Возвращает адрес ячейки

ThisWorkbook.Worksheets(Имя_Листа).Columns(Номер_Столбца).End(xlDown).Value
- соответственно значение ячейки

Аналогично Rows

При возникновении трудностей - указать диапазон

Raul

Gudvin
Новичок
Новичок
 
Сообщения: 34
Зарегистрирован: 13.07.2004 (Вт) 13:23

Сообщение Gudvin » 16.07.2004 (Пт) 14:39

Ух ты, скока вариантов. Спасибо!

Igor_123
Осторожный Баянист
Осторожный Баянист
Аватара пользователя
 
Сообщения: 1325
Зарегистрирован: 21.07.2004 (Ср) 13:00
Откуда: Днепропетровск

Сообщение Igor_123 » 26.07.2004 (Пн) 17:10

А почему не включить запись макроса
и не нажать
Ctrl+Home
Ctrl+End
Остановить запись
и по Alt+F11 посмотреть что записалось

Pavel Larin
Начинающий
Начинающий
 
Сообщения: 4
Зарегистрирован: 01.12.2004 (Ср) 14:41

Сообщение Pavel Larin » 01.12.2004 (Ср) 14:44

Igor_123 писал(а):А почему не включить запись макроса
и не нажать
Ctrl+Home
Ctrl+End
Остановить запись
и по Alt+F11 посмотреть что записалось


А ты сам пробовал так сделать???
если интересно - то ответ будет приблизительно таким:
ActiveCell.SpecialCells(xlLastCell).Select
Range("A1").Select

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 01.12.2004 (Ср) 14:49

Pavel Larin писал(а):А ты сам пробовал так сделать???
если интересно - то ответ будет приблизительно таким:
ActiveCell.SpecialCells(xlLastCell).Select
Range("A1").Select
Lasciate ogni speranza, voi ch'entrate.

Pavel Larin
Начинающий
Начинающий
 
Сообщения: 4
Зарегистрирован: 01.12.2004 (Ср) 14:41

Сообщение Pavel Larin » 01.12.2004 (Ср) 14:59

Igor_123 написал Ctrl+Home, Ctrl+End. Для ctrl+end xlLastCell подходит, а для ctrl+home нет!
если область листа закреплена и экран был проскроллен, то не выполнится клавиатурное ctrl+home по команде Range("A1").Select

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 01.12.2004 (Ср) 15:04

Какой вредный человек :)

Последняя ячейка - это ЛюбаяЯчейка.SpecialCells(xlLastCell) :)
В частности, ActiveCell.SpecialCells(xlLastCell)... или Cells(1,1).SpecialCells(xlLastCell)...
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Pavel Larin
Начинающий
Начинающий
 
Сообщения: 4
Зарегистрирован: 01.12.2004 (Ср) 14:41

Сообщение Pavel Larin » 01.12.2004 (Ср) 15:12

[quote="GSerg"][/quote]
я не спорю, что это подойдет для последней ячейки.
но зачем писать про "ctrl+home и запись макроса". меня интересует вопрос по home'у. прихожу по поиску и вижу ерунду

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 01.12.2004 (Ср) 15:21

Ctrl+Home на тот случай, если у тебя и так уже выбрана самая последняя из возможных ячеек.
Lasciate ogni speranza, voi ch'entrate.

Pavel Larin
Начинающий
Начинающий
 
Сообщения: 4
Зарегистрирован: 01.12.2004 (Ср) 14:41

Сообщение Pavel Larin » 01.12.2004 (Ср) 15:28

alibek писал(а):Ctrl+Home на тот случай, если у тебя и так уже выбрана самая последняя из возможных ячеек.

можно конечно и таким образом истолковать... хотя я искал (и думал что нашел :( ) другое....


Вернуться в VBA

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4

    TopList