powered by simpleCommunicator - 2.0.58     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Как узнать конец таблицы в Excel?
16 сообщений из 16, страница 1 из 1
Как узнать конец таблицы в Excel?
    #32929041
Bagin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте!
Где-то случайно видел этот способ, но найти не могу.
В экселевском файле пишу макрос. Необходимо выяснить начальную и конечную ячейку таблицы без сканирования каждой строки. Ведь Excel как-то это сам делает, например, когда определяет границы печати. Как этим воспользоваться?
Заранее спасибо.
...
Рейтинг: 0 / 0
Как узнать конец таблицы в Excel?
    #32929272
Processor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот работающая процедура.
...
Рейтинг: 0 / 0
Как узнать конец таблицы в Excel?
    #32930515
Bagin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У меня эксэль 2003
Если проверяемый лист защищен, то при выполнении
Код: plaintext
SpecialCells(xlCellTypeLastCell)
ругается:
Нельзя использовать данную команду на защищенном листе ...

Но ведь когда на этом листе нажимаю Ctrl+End, то активной становится именно последняя ячейка, т.е. эксэль как-то определяет.
...
Рейтинг: 0 / 0
Как узнать конец таблицы в Excel?
    #32930598
LongS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Может это поможет
Range(ActiveCell, ActiveCell.End(xlDown)).Select
Еще это можно посмотреть
ActiveCell.CurrentRegion.Select
...
Рейтинг: 0 / 0
Как узнать конец таблицы в Excel?
    #32930652
Processor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BaginУ меня эксэль 2003
1. Если проверяемый лист защищен, то он ругается...
2. Но ведь когда на этом листе нажимаю Ctrl+End, то активной становится именно последняя ячейка, т.е. эксэль как-то определяет.2. Неявно используется свойство UsedRange.
Не знаю, как в 2003-м, в 97-м и 2000-м этот метод не всегда выводит на последнюю ЗАПОЛНЕННУЮ ячейку:
ИСПОЛЬЗОВАННЫЙ и ЗАПОЛНЕННЫЙ - не синонимы.
1. На время выполнения макроса в нем же можно сначала СНЯТЬ защиту (.Unprotect(Password)), а затем установить снова.
...
Рейтинг: 0 / 0
Как узнать конец таблицы в Excel?
    #32930688
Bagin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LongSМожет это поможет
Range(ActiveCell, ActiveCell.End(xlDown)).Select
Еще это можно посмотреть
ActiveCell.CurrentRegion.SelectВыделяет диапазоны не понятно как.

Вот делал еще это:
Код: plaintext
1.
2.
3.
Dim rng As Range
...
MsgBox rng.Columns.End(xlDown).Address        ' Выдает не понятно какой адрес
MsgBox rng.Rows.End(xlToRight).Address        ' Выдает не понятно какой адрес
...
Рейтинг: 0 / 0
Как узнать конец таблицы в Excel?
    #32930695
Bagin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Processor[quot Bagin]1. На время выполнения макроса в нем же можно сначала СНЯТЬ защиту (.Unprotect(Password)), а затем установить снова.Да вот не хотелось бы прописывать открыто пароль в коде
...
Рейтинг: 0 / 0
Как узнать конец таблицы в Excel?
    #32930703
Bagin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пока сделал так: в цикле проверяю определенный столбик, и как только ячейка в нем оказывается пустой, то делаю Exit For
...
Рейтинг: 0 / 0
Как узнать конец таблицы в Excel?
    #32930728
LongS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
.End(xlDown) рабоатет как Ctrl+Стрелка вниз
другие аналогично
...
Рейтинг: 0 / 0
Как узнать конец таблицы в Excel?
    #32930775
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в екселе есть понятие
1. ячейки с данными (не пустые)
2. ячейки без данных (пустые) но в которых данные были удалены.
но эта область екселем считается как область с "данными"

как их различать?
...
Рейтинг: 0 / 0
Как узнать конец таблицы в Excel?
    #32930798
Bagin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LongS.End(xlDown) рабоатет как Ctrl+Стрелка вниз
другие аналогичноПохоже что так. Там всего лишь четыре возможных значения и они наверно значат:
xlDown - Ctrl+Стрелка вниз
xlToRight - Ctrl+Стрелка вправо
xlToLeft - Ctrl+Стрелка влево
xlUp - Ctrl+Стрелка вверх
Вот где бы получить - Ctrl+End
...
Рейтинг: 0 / 0
Как узнать конец таблицы в Excel?
    #32930832
Bagin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Processor Bagin...
2. Но ведь когда на этом листе нажимаю Ctrl+End, то активной становится именно последняя ячейка, т.е. эксэль как-то определяет.2. Неявно используется свойство UsedRange.
Не знаю, как в 2003-м, в 97-м и 2000-м этот метод не всегда выводит на последнюю ЗАПОЛНЕННУЮ ячейку:
ИСПОЛЬЗОВАННЫЙ и ЗАПОЛНЕННЫЙ - не синонимы.Вроде получилось:
Код: plaintext
MsgBox ThisWorkbook.Worksheets("Лист1").UsedRange.Address
На счет "...ИСПОЛЬЗОВАННЫЙ и ЗАПОЛНЕННЫЙ - не синонимы." не знаю пока.

Всем спасибо! :)
...
Рейтинг: 0 / 0
Как узнать конец таблицы в Excel?
    #32931002
marvan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в догонку:
Код: plaintext
1.
2.
'способ определения числа использованных строк в конкретной колонке:
SheetRows = ActiveWorkbook.ActiveSheet.Cells.SpecialCells(xlCellTypeLastCell).Row
ColRows = Application.WorksheetFunction.CountA(Range(Cells( 1 ,  3 ), Cells(SheetRows,  3 )))
...
Рейтинг: 0 / 0
Как узнать конец таблицы в Excel?
    #32931233
sergeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день!
Для указанной колонки можно так получить свободную строку, даже для скрытых строк (предполагается, что последняя ячейка колонки пустая). С защищенным листом проблемы, правда, остаются.

Sub Test3()
MsgBox RealFreeRow(3) 'параметр - номер колонки
End Sub

Function RealFreeRow(WCol As Long) As Long
Dim ArDif As Range
RealFreeRow = 1
On Error Resume Next
Set ArDif = Columns(WCol).ColumnDifferences _
(comparison:=Cells(65536, WCol))
If ArDif Is Nothing Then Err.Clear: Exit Function
RealFreeRow = ArDif.Areas(ArDif.Areas.Count).Row + _
ArDif.Areas(ArDif.Areas.Count).Cells.Count
End Function

С уважением, Сергей Густокашин. Тольятти, Комсофт. ICQ 75307217
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Как узнать конец таблицы в Excel?
    #38131783
WinoVeritas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
e
...
Рейтинг: 0 / 0
Как узнать конец таблицы в Excel?
    #38131788
WinoVeritas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
У меня на защищенном листе работает так:

Код: vbnet
1.
nRowEnd = Worksheets(wrksheet).Cells(Rows.Count, 1).End(xlUp).Row



nRowEnd - последняя заполненная ячейка в 1-ом столбце
...
Рейтинг: 0 / 0
16 сообщений из 16, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Как узнать конец таблицы в Excel?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]