Есть ли способ динамически выбирать диапазон в макросе на основе позиции курсора? - PullRequest
0 голосов
/ 23 октября 2019

Я хочу скопировать строки из столбцов A в CO, но строка будет отличаться каждый раз. Я хотел бы скопировать диапазон A: CO на основе позиции курсора.

Range("A6:CO6").Copy
    Sheets("Completed").Range("A" & Rows.Count).End(xlUp).Offset(1, 0).PasteSpecial xlPasteValues
    Sheets("Active").Select
    Rows("6:6").Select
    Application.CutCopyMode = False
    Selection.Delete Shift:=xlUp
End Sub

Я хотел бы выбрать строку с позицией курсора и иметь диапазон копии A: CO в поле Completedпростынь. У меня этот макрос работает, но только для 6-й строки.

Ответы [ 2 ]

1 голос
/ 23 октября 2019

Замените строку .Copy следующим:

ActiveSheet.Range("A" & ActiveCell.Row & ":CO" & ActiveCell.Row).Copy

Она строит строку диапазона на основе ActiveCell.Row, аналогично тому, что вы делаете со строкой 2 в своем фрагменте.

0 голосов
/ 23 октября 2019

Простое решение с использованием изменения размера.

ActiveCell.Resize(, 93).Copy
Sheets("Completed").Range("A" & Rows.Count).End(xlUp).Offset(1).PasteSpecial xlPasteValues
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...