-3

По сути, мне нужно автоматизировать простой процесс копирования строк и вставки скопированных строк. В Excel я выделяю строки, а затем щелкаю правой кнопкой мыши и нажимаю вставку скопированных ячеек.

Данные, которые я копирую, всегда находятся в строках 127:138 и я хочу скопировать их в строку, начиная с 143 . Важно, чтобы я «вставлял копируемые ячейки», так как это будет толкать строки вниз, я хочу сделать это, так как я буду запускать этот макрос снова и снова, чтобы в итоге я получил список.

2 ответа2

3

Хотя вам действительно нужен макрос для этого, вы забываете, что в Excel есть встроенный рекордер макросов.

Если действие, которое вам нужно сделать, всегда одно и то же, и в нем нет динамической вовлеченности, вам на самом деле не нужно понимать VBA для его создания.

Просто найдите кнопку записи макроса на панели инструментов выше, выполните действия, которые вы хотите сделать от начала до конца, затем нажмите кнопку остановки.

Затем вы можете назначить ему сочетание клавиш или даже создать кнопку на панели инструментов и назначить ей свой макрос. (или запустите макрос с панели инструментов макросов, где вы нашли кнопку записи)

1

Вы используете приведенный ниже код VBA для копирования указанных строк и перемещения указателя ячейки в конкретную строку для вставки скопированных строк.

Option Explicit

Public Sub CopyRows()

    Dim rngSource   As Range
    Dim rngTarget   As Range

    With Worksheets(1)
        Set rngSource = .Range("A127:A138")
        Set rngTarget = .Range("A143")

        rngSource.Copy

        rngTarget.EntireRow.Insert Shift:=xlDown
        rngTarget.PasteSpecial xlPasteAll
        Application.CutCopyMode = False
    End With

End Sub

NB: Этот код был проверен мной, прежде чем я разместил здесь.

Надеюсь, это поможет вам.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .