Здравствуйте! Очень нужен макрос, копирующий значение ячеек с одного листа на другой, при этом рабочим диапазоном будет являться произвольно выделенная пользователем строка (или строка, на которой находится курсор). При реализации столкнулся с проблемой указания диапазона Не программист ни разу. Помогите офисной крысе, плиз.
Здравствуйте! Очень нужен макрос, копирующий значение ячеек с одного листа на другой, при этом рабочим диапазоном будет являться произвольно выделенная пользователем строка (или строка, на которой находится курсор). При реализации столкнулся с проблемой указания диапазона Не программист ни разу. Помогите офисной крысе, плиз.Igelkott
Решение от Boroda работает изумительно. Только тупой я некорректно поставил ТЗ ((( Прикрепил откорректированный файл. [vba]
Код
Макрос1 Sub Макрос1() ' Sheets("Результат макроса").Select Range("B8,C4,D9,F6").Select Selection.ClearContents Range("C4").Select ActiveCell.FormulaR1C1 = "=Данные!R[-2]C[-1]" Range("F6").Select ActiveCell.FormulaR1C1 = "=Данные!R[-4]C[-2]" Range("B8").Select ActiveCell.FormulaR1C1 = "=Данные!R[-6]C[3]" Range("D9").Select ActiveCell.FormulaR1C1 = "=Данные!R[-7]C[4]" End Sub
[/vba] Вот тут нужный результат, но макрос привязан к строке 2, а надо, чтобы данные (не всех ячеек листа "Данные", а только из тех, что прописаны в макросе) подтягивались из произвольно выделенной одной строки, или из строки, в которой находится курсор (несколько строк не надо), и складывались в жестко прописанные ячейки листа "Результат макроса". Возможно ли допилить вышеуказанный "Макрос1"?
Решение от Boroda работает изумительно. Только тупой я некорректно поставил ТЗ ((( Прикрепил откорректированный файл. [vba]
Код
Макрос1 Sub Макрос1() ' Sheets("Результат макроса").Select Range("B8,C4,D9,F6").Select Selection.ClearContents Range("C4").Select ActiveCell.FormulaR1C1 = "=Данные!R[-2]C[-1]" Range("F6").Select ActiveCell.FormulaR1C1 = "=Данные!R[-4]C[-2]" Range("B8").Select ActiveCell.FormulaR1C1 = "=Данные!R[-6]C[3]" Range("D9").Select ActiveCell.FormulaR1C1 = "=Данные!R[-7]C[4]" End Sub
[/vba] Вот тут нужный результат, но макрос привязан к строке 2, а надо, чтобы данные (не всех ячеек листа "Данные", а только из тех, что прописаны в макросе) подтягивались из произвольно выделенной одной строки, или из строки, в которой находится курсор (несколько строк не надо), и складывались в жестко прописанные ячейки листа "Результат макроса". Возможно ли допилить вышеуказанный "Макрос1"?Igelkott