Выделение диапазона на соседнем листе по определенному критерию

Автор miroed, 29.09.2012, 22:51

« назад - далее »

miroed

  Подскажите, пожалуйста. Перед макросом выделяется одна из ячеек столбца D листа 00.
  Как макросом выделить область определенной  строки на листе "02" ?
  Строка для выделения области на листе 01 выбирается по содержимому столбца С возле активной ячейки столбца D листа 00
  Номера столбцов для области выделения указаны в столбцах F и G листа 00.
  Если можно, то синтаксис попроще, специально для меня :) . Что-то похожее на это :
Range("R[13]C[11]:R[14]C[12]").Select
Range("INDIRECT(ADDRESS(BM101,432,4)):INDIRECT(ADDRESS(BM101,440,4))").Select
 

kuklp

Public Sub www()
    Dim r As Range
    Set r = ActiveCell
    With Sheets(2)
        .Activate
        .Range(.Cells(r(, 0), r(, 3)), .Cells(r(, 0), r(, 4))).Select
    End With
End Sub

Я, как всегда, чертовски адекватен... Email: pilipnikop@yandex.ua WM Z206653985942, R334086032478, U238399322728, E332314026771

miroed

Спасибо за помощь. Но это - не мое, не мой стиль, к сожалению.
Я макросы в Экселе не пишу, а "записываю". Потом открываю, смотрю, корректирую, если понадобиться.
Поэтому мне надо еще проще, понятнее.
Неужели нельзя сделать что-то такое, похожее на это ?
Range("R[13]C[11]:R[14]C[12]").Select
Еще варианты есть ?

miroed

Этот макрос не работает так, как требуется.
Область выделяется и ее границы по столбцам заданы верно.
Но макрос не выбирает для выделения области на листе "01" необходимые строки,
номера которых определяются содержимым ячеек столбца "С" листа "00" напротив активной ячейки столбца "D" листа "00".
Это содержимое (критерий выбора строки) должно искаться в столбце "А" на листе "01".
Строка на листе "01" с таким же значением и будет искомой строкой, в которой необходимо выделить диапазон.

kuklp

Вы писали:
Строка для выделения области на листе 01 выбирается по содержимому столбца С Вот я и выбирал номер строки. А мысли я угадывать не умею.
Измените:
.Range(.Cells(r(, 0), r(, 3)), .Cells(r(, 0), r(, 4))).Offset(3).Select
И будет Вам счастье.
Я, как всегда, чертовски адекватен... Email: pilipnikop@yandex.ua WM Z206653985942, R334086032478, U238399322728, E332314026771

miroed

Подскажите, пожалуйста.
На листе "00" есть активная ячейка. В этой же строке в столбцах расположенных справа от активной ячейки имеется : два номера столбцов и номер строки.
Требуется макросом выделить на другом листе "01" диапазон в строке, номер которой указан на листе "00".
Ширина выделенного диапазона  определяется номерами столбцов, указанных на листе "00".
Другими словами : макрос должен "взять" номер нужной строки и номера столбцов справа от активной ячейки на листе "00", зайти на лист "01"
и выделить диапазон согласно взятым на листе "00" данным.
Я макросы в Экселе не пишу, а "записываю". 
Потом открываю, смотрю, корректирую, если понадобиться.
Поэтому мне надо попроще, понятнее.
Что-то такое, похожее на это :
Range("R[13]C[11]:R[14]C[12]").Select
Или это Range("INDIRECT(ADDRESS(BM101,432,4)):INDIRECT(ADDRESS(BM101,440,4))").Select

miroed

Цитата: KuklP от 30.09.2012, 10:02
Вы писали:
Строка для выделения области на листе 01 выбирается по содержимому столбца С Вот я и выбирал номер строки. А мысли я угадывать не умею.
Измените:
.Range(.Cells(r(, 0), r(, 3)), .Cells(r(, 0), r(, 4))).Offset(3).Select
И будет Вам счастье.

Зер гут ! Все работает, красота !!!!
Спасибо, хорошего дня !

DV68

Можно и без макроса:

miroed

Цитата: Dmitr68 от 30.09.2012, 11:45
Можно и без макроса:
Спасибо. Попробую, может быть этот способ - оптимален для меня