Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Поиск в Экселе

482
24 августа 2005 года
crazytrain
123 / / 19.04.2005
Есть книга экселевская, на первом листе лежат необходимые данные, но они начинаются не с левого верхнего угла. Т.е. в ячейке "В3" написано "Дата_выдачи" и дальше в столбце все отформатированно как дата, потом мледующий столбец "D3" - "менеджер" и дальше вниз фамилии менеджеров. Как проще всего не зная номеров строк и номеров столбцов найти откуда начинаются данные? (т.е. это через время может уже стать не B3 и D3, а скажем С201 и G200) Я знаю как называются начальные ячейки столбцов (B3 и D3), но ячейки перед этим (2 четверть как бы) могут быть и не пустыми.
275
24 августа 2005 года
pashulka
985 / / 19.09.2004
Если Ваша таблица не имеет чёткой структуры, т.е. таблица вместе с заголовками может быть перемещена куда угодно, то есть несколько вариантов решения этой задачи.

1. Присвоить имена ячейкам, которые являются заголовками таблицы и затем определять первую заполненную ячейку.
2. Найти ячейку, которая содержит соответствующий заголовок и затем определить первую заполненную ячейку.

Если же заголовки таблицы всегда размещаются в ячейках "B3", "D3" и т.д. то Вам остаётся просто проверить заполненна или нет ячейка "B4", "D4" и если она пустая, то :

 
Код:
iAddress = Worksheets(1).Range("C3").End(xlDown).Address
482
24 августа 2005 года
crazytrain
123 / / 19.04.2005
Я наверное не очень хорошо выразился, но мне надо находиьт адрес ячейки, по ее содержимому. Т.е. я точно знаю что есть ячейка в которой написано "менеджер", но не знаю ее адреса. Как найти ее адрес? перебор отдельных ячеек конечно возможен, но вы сами понимаете сколько это времени может занять.
275
24 августа 2005 года
pashulka
985 / / 19.09.2004
Вариант I.
 
Код:
On Error Resume Next

iAddress = Worksheets(1).Range("Менеджер").Address


Примечание : можно конечно использовать и семейство .Names но я бы советовал использовать именно этот вариант, так как имя может быть уровня рабочего листа (локальное)

Вариант II.
 
Код:
Set iCell = Worksheets(1).UsedRange.Find(What:="Менеджер", LookIn:=xlValues, LookAt:=xlWhole)

If Not iCell Is Nothing Then iAddress = iCell.Address
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог