Здравствуйте! Пытаюсь написать макрос для заполнения диапазона ячеек Если использовать Range("Q3:Q54").Select - т.е. фиксировано задать диапазон - макрос работает отлично. Но, мне требуется определить динамический диапазон, базируясь на последней заполненной строке в столбце, скажем, А [vba]
Код
Sub Macro1() ' ' Macro1 Macro ' Dim lastrow As Long ' lastrow = Range("A1048576").end(xlup).Row ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-4],[Codes.xlsx]Sheet1!C1:C2,2,0)" Selection.Copy Range("Q3:Q" & lastrow).Select ActiveSheet.Paste Application.CutCopyMode = False End Sub
[/vba] Выдает ошибку по строке Range("Q3:Q & lastrow").Select Спасибо
Здравствуйте! Пытаюсь написать макрос для заполнения диапазона ячеек Если использовать Range("Q3:Q54").Select - т.е. фиксировано задать диапазон - макрос работает отлично. Но, мне требуется определить динамический диапазон, базируясь на последней заполненной строке в столбце, скажем, А [vba]
Код
Sub Macro1() ' ' Macro1 Macro ' Dim lastrow As Long ' lastrow = Range("A1048576").end(xlup).Row ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-4],[Codes.xlsx]Sheet1!C1:C2,2,0)" Selection.Copy Range("Q3:Q" & lastrow).Select ActiveSheet.Paste Application.CutCopyMode = False End Sub
[/vba] Выдает ошибку по строке Range("Q3:Q & lastrow").Select СпасибоExabyte
Сообщение отредактировал Exabyte - Понедельник, 17.11.2014, 22:00
Sub Macro1() ' ' Macro1 Macro ' Dim lastrow As Long lastrow = Cells(Rows.Count, 1).End(xlUp).Row ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-4],[Codes.xlsx]Sheet1!C1:C2,2,0)" Selection.Copy Range("Q3: Q" & lastrow).Select ActiveSheet.Paste Application.CutCopyMode = False End Sub
[/vba]
В Cells цифра 1 - номер столбца А
Exabyte, Здравствуйте. Так попробуйте. [vba]
Код
Sub Macro1() ' ' Macro1 Macro ' Dim lastrow As Long lastrow = Cells(Rows.Count, 1).End(xlUp).Row ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-4],[Codes.xlsx]Sheet1!C1:C2,2,0)" Selection.Copy Range("Q3: Q" & lastrow).Select ActiveSheet.Paste Application.CutCopyMode = False End Sub
Спасибо, так работает. Нашел небольшой баг в реализации
Если запускать макрос в любой ячейке на странице - то он перезаписывает данные этой формулой Надо, так я понимаю, перед вставкой формулы перемещать фокус в начало заполняемого диапазона? Попытаюсь почитать про это..
Спасибо, так работает. Нашел небольшой баг в реализации
Если запускать макрос в любой ячейке на странице - то он перезаписывает данные этой формулой Надо, так я понимаю, перед вставкой формулы перемещать фокус в начало заполняемого диапазона? Попытаюсь почитать про это..Exabyte