Здравствуйте, подскажить такой вот ответ на такой вот вопрос, нужно написать макрос, при запуске которого открывается диалоговое окно, где можно выбрать диапазон, затем он копируется на другой лист, к последней строке, что б не было пустых строк, и что б копировались только значания, нашел два макроса, но ни один не подходит, первый всегда тупо копирует только верхнюю строчку, втрой вообще не запускается
Код |
---|
Sub macroc2()
Application.ScreenUpdating = False
Dim i As Long
i = Sheets("лист1").Cells(Rows.Count, 4).End(xlUp).Row
Sheets("лист1").Range("D16:L" & i).Copy
i = Sheets("лист3").Cells(Rows.Count, 2).End(xlUp).Row + 1 'Îïðåäåëÿåì íèæ.Ñòðîêó
Sheets("лист3").Range("A" & i).Paste
Application.ScreenUpdating = True
End Sub
|
Код |
---|
Sub Macro1()
Range("A1:P1").Copy
Cells(Application.Max(25, Cells(Rows.Count, 1).End(xlUp)(2).Row), 1).PasteSpecial xlPasteValues
End Sub
|
макрос 1 в принципе подошел бы, если б конечно было копирование на другой лист, или выделения всего диапазона, или выделения ячейки, в которой строчке он находится, макрос 2 теоретически тоже подойдет, но не ясно как он работает
на листе 1 идут все рассчеты, на лист 3 должны попадать только скопированные значения