Господа-товарищи!!! такая проблема: есть лист с набором данных (потребление электроэнергии). Задача такая: находить в этом листе определенную строку с названием электроустановки (это реализовано макросом) это всегда ячека в столбце D, и в неизвестной строке. Хорошо. Мы ее нашли.
Теперь надо относительно найденной ячейки выделить диапазон : начало - смещенный относительно найденного адрес (+1 строка вниз и +3 столбец вправо (начало диапазона) - до N строк вниз, тот же столбец). N-значение из ячейки
Когда - то в глубоком детстве занимался Delphi(там те же принципы), думал слета решу эту ерундовую задачи но сейчас мозги похоже совсем не на то заточены..Запутался в вычисляемой адресации Проблема копеечная, надеюсь кто то слету мне ответит.
Зачем Вам выделять диапазон? Делайте с ним сразу что Вам нужно. Вот как я понял
Код
Sub rCopy()
Dim fCell As Range
With Sheets("1")
Set fCell = .Columns("D").Find(What:=Range("I2").Value, LookIn:=xlValues)
.Range(fCell.Offset(1, 3), fCell.Offset(Range("I3").Value + 1, 3)).Copy Destination:=Range("I7")
End With
End Sub
Согласие есть продукт при полном непротивлении сторон
Ух, визуально все понятно и очевидно, спасибо. но когда вставляю ваш пример в файле и привязываю к кнопке выдает 91 ошибку, как я понимаю, переменная какаято не определена... хотя вроде как массив fCell определен, а больше там ничего нет... Что то не состыковывается, подскажите в чем дело. Я по сути не программист, подскажите в чем дело
Понятно. Просто в файле эта строка не в столбце D а в объедененной ячеке - от D до J. поэтому не находит наверное. Думаю, надо просто отменить объединение ячеек в всем листе, тогда все найдется.
Подскажите как безопасно отментить объединение ячеек в листе либо другим способом найти в строку в объединенной ячейке от D до J. Заранее извиняюсь, даже книги не могу нормальной найти, все на ощупь...
в том и проблема - объединение ячеек рожает система которая выплевывает файл и на которую повлиять невозможно. И формат какойто выплевывает полуэкзелевский jspx который занимает огромное количество мб, и открывается долго. Приходится его потом преобразовывать в xlsb. В получаемом файле получаются объедененные ячейки, в них то и находится искомая строка.