Ещё вопрос по Excel

Программирование на Visual Basic for Applications
galich
Начинающий
Начинающий
 
Сообщения: 24
Зарегистрирован: 01.10.2008 (Ср) 7:49

Ещё вопрос по Excel

Сообщение galich » 01.10.2008 (Ср) 8:23

Как программно узнать адрес границы таблицы

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

Re: Ещё вопрос по Excel

Сообщение alibek » 01.10.2008 (Ср) 9:01

Какой адрес? Какой границы? Какой таблицы?
Lasciate ogni speranza, voi ch'entrate.

galich
Начинающий
Начинающий
 
Сообщения: 24
Зарегистрирован: 01.10.2008 (Ср) 7:49

Re: Ещё вопрос по Excel

Сообщение galich » 01.10.2008 (Ср) 10:19

alibek писал(а):Какой адрес? Какой границы? Какой таблицы?


Предположим, есть таблица с ячейки A1 по E1, имеющая 50 строк записей. Мне надо считать все данные из таблицы, но ввиду того что количество
столбцов в файле может меняться мне и нужно знать с какой по какую ячейку находится таблица, кол-во записей то же не постоянно.

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

Re: Ещё вопрос по Excel

Сообщение alibek » 01.10.2008 (Ср) 10:36

В Excel нет таблиц с A по E. Они есть только в твоей голове.
Используй UsedRange или ищи первую пустую ячейку в строке, смотря что тебе надо.
Lasciate ogni speranza, voi ch'entrate.

galich
Начинающий
Начинающий
 
Сообщения: 24
Зарегистрирован: 01.10.2008 (Ср) 7:49

Re: Ещё вопрос по Excel

Сообщение galich » 01.10.2008 (Ср) 11:43

alibek писал(а):В Excel нет таблиц с A по E. Они есть только в твоей голове.
Используй UsedRange или ищи первую пустую ячейку в строке, смотря что тебе надо.

А по подробнее можно с Range. Примерчик если можно.

Goettsch
Начинающий
Начинающий
 
Сообщения: 17
Зарегистрирован: 21.08.2007 (Вт) 1:44

Re: Ещё вопрос по Excel

Сообщение Goettsch » 02.10.2008 (Чт) 10:15

galich Как программно узнать адрес границы таблицы

Если Вы имеете в виду структуры такого типа:

Код: Выделить всё
      B          C         D 
------------------------------
2! СОТРУДНИК  ЗАРПЛАТА  ПРЕМИЯ
3! Иванов          300      50
4! Петров          200      30
5! Сидоров         250      30

То узнать их границы (здесь это $B$2:$D$5) можно, поставив курсор внутрь любой ячейки из этого диапазона и выполнив такой код:

Код: Выделить всё
MsgBox ActiveCell.CurrentRegion.Address

(Ясно, что это просто пример, там сами уже разберетесь по обстановке)

galich
Начинающий
Начинающий
 
Сообщения: 24
Зарегистрирован: 01.10.2008 (Ср) 7:49

Re: Ещё вопрос по Excel

Сообщение galich » 02.10.2008 (Чт) 12:43

Goettsch писал(а):
galich Как программно узнать адрес границы таблицы

Если Вы имеете в виду структуры такого типа:

Код: Выделить всё
      B          C         D 
------------------------------
2! СОТРУДНИК  ЗАРПЛАТА  ПРЕМИЯ
3! Иванов          300      50
4! Петров          200      30
5! Сидоров         250      30

То узнать их границы (здесь это $B$2:$D$5) можно, поставив курсор внутрь любой ячейки из этого диапазона и выполнив такой код:

Код: Выделить всё
MsgBox ActiveCell.CurrentRegion.Address

(Ясно, что это просто пример, там сами уже разберетесь по обстановке)


Спасибо, попробую.

А как выделить только часть таблицы? Например от С2 до тех пор пока таблица

Goettsch
Начинающий
Начинающий
 
Сообщения: 17
Зарегистрирован: 21.08.2007 (Вт) 1:44

Re: Ещё вопрос по Excel

Сообщение Goettsch » 02.10.2008 (Чт) 19:24

как выделить только часть таблицы? Например от С2 до тех пор пока таблица

Не совсем понятно, что именно Вы тут имеете в виду. Если Вы хотите выделить (на этом примере) диапазон C2:C5, то так:

Код: Выделить всё
Range("C2:C5").Select

galich
Начинающий
Начинающий
 
Сообщения: 24
Зарегистрирован: 01.10.2008 (Ср) 7:49

Re: Ещё вопрос по Excel

Сообщение galich » 03.10.2008 (Пт) 8:10

Goettsch писал(а):
как выделить только часть таблицы? Например от С2 до тех пор пока таблица

Не совсем понятно, что именно Вы тут имеете в виду. Если Вы хотите выделить (на этом примере) диапазон C2:C5, то так:

Код: Выделить всё
Range("C2:C5").Select


Это подходит в том случае если известна конечная ячейка, мне надо выделить в данном примере с ячейки С2 всё до конца таблицы как по строкам так и по столбцам.

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

Re: Ещё вопрос по Excel

Сообщение alibek » 03.10.2008 (Пт) 8:18

Это подходит ко всем случаям, надо только обратить внимание на предложенные решения и применить мозги.
Lasciate ogni speranza, voi ch'entrate.

Pavel55
Обычный пользователь
Обычный пользователь
 
Сообщения: 90
Зарегистрирован: 27.10.2006 (Пт) 20:11

Re: Ещё вопрос по Excel

Сообщение Pavel55 » 04.10.2008 (Сб) 16:56

Попробуйте так

код для столбца С

Код: Выделить всё
Sub Макрос1()
Dim iLastRow&
    LastRow = Cells(Rows.Count, 3).End(xlUp).Row '3 - это номер столбца С
    Range("C2:C" & iLastRow).Select
    'или
    'Range(Cells(2, 3), Cells(iLastRow, 3)).Select '3 - это номер столбца С
End Sub


Вернуться в VBA

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

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

    TopList