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

Ваш аккаунт

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

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

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

Выделение диапазона

9.8K
26 октября 2005 года
Ilya_26
19 / / 29.09.2005
Подскажите пожалуйста, как выделить диапазон, если известны номера столбца/строки его начала/конца.
Например надо выделить Range(A1:B10) если известны 4 координаты: 1,1,10,3
Заранее спасибо!
275
26 октября 2005 года
pashulka
985 / / 19.09.2004
Как правило в таких случаях используют что-то вроде :
 
Код:
Range(Cells(1, 1), Cells(10, 3)).Select

Но только при работе с ячейкой/дипазоном ячеек, выделение абсолютно излишне.
9.8K
26 октября 2005 года
Ilya_26
19 / / 29.09.2005
Цитата:
Originally posted by pashulka
Как правило в таких случаях используют что-то вроде :
 
Код:
Range(Cells(1, 1), Cells(10, 3)).Select



Супер! Спасибо!
Это именно то что нужно!
Я только не очень понял каким образом Range понимает что надо брать именно адрес Cells, ведь по умолчанию Cells(1,1) это ее Volume или я не прав?

Цитата:
Originally posted by pashulka
Но только при работе с ячейкой/дипазоном ячеек, выделение абсолютно излишне.



Я имел ввиду, что мне нужно его как-то обозначить.

275
26 октября 2005 года
pashulka
985 / / 19.09.2004
.Cells - представляет собой все 16777216 ячеек, .Cells(1, 1) - ячейку, находящуюся на пересечении строки с индексом/номером один и столбца, с тем же индексом/номером.

Если использовать нижеопубликованный код, то в этом случае также будет выделен диапазон "A1:C10" (не "A1:B10")
 
Код:
Range(Cells(1), Cells(2307)).Select
9.8K
26 октября 2005 года
Ilya_26
19 / / 29.09.2005
Цитата:
Originally posted by pashulka
.Cells - представляет собой все 16777216 ячеек, .Cells(1, 1) - ячейку, находящуюся на пересечении строки с индексом/номером один и столбца, с тем же индексом/номером.

Если использовать нижеопубликованный код, то в этом случае также будет выделен диапазон "A1:C10" (не "A1:B10")
 
Код:
Range(Cells(1), Cells(2307)).Select



Это я понимаю. Вопрос был немного о другом - если написать:
x = Cells(1)
y = Cells(2307)
Range(x, y).Select
то VBA этого не поймет, т.к. x и y будут присвоены Vоlume ячеек Cells(1) и Cells(2307) соответственно. А когда Cells(1) и Cells(2307) вставляются в Range, то все отлично работает.
Почему?!

275
26 октября 2005 года
pashulka
985 / / 19.09.2004
В первом случае, Вы присваиваете переменной x значение ячейки "A1" (используя свойство .Value по умолчанию) Во втором же случае, Вы выделяете определённую ячейку, т.е.

x = Range("A1")
Range("A1").Select
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог