我需要一个VBA脚本来按照一定的步骤复制并粘贴Excel中的行

问题描述 投票:0回答:1

我需要一个 Excel 宏,该宏将从第七行开始复制特定工作表的每六行,并将这些行的值粘贴到工作表的每第六行(不移动或删除包含公式的复制行)。同一个工作表,从第五行开始(相应地,复制第七行的公式值并粘贴到第五行,复制 13 并粘贴到 11,依此类推,直到最后一个有效行)。我根本不懂编程,神经网络和我的尝试都没有给出预期的结果。我请求你们的帮助,朋友们。

Sub Copy_And_Insert_Rows()
    Dim i As Integer
    Dim lastRow As Integer

    lastRow = Cells(Rows.Count, 1).End(xlUp).Row

    For i = 6 To lastRow Step 6
        Rows(i).Copy
        Rows(i - 2).Insert Shift:=xlDown
    Next i

    Application.CutCopyMode = False
End Sub

神经网络产生了这个结果,但它没有做我需要的事情,将行向下移动。

应解说员的要求,我澄清一下我对宏的要求。我编写了以下三行代码:

Sub Copy_And_Insert_Rows()
Range("d7:crg7").Copy
Range("d5:crg5").PasteSpecial xlPasteValues
Range("d13:crg13").Copy
Range("d11:crg11").PasteSpecial xlPasteValues
Range("d19:crg19").Copy
Range("d17:crg17").PasteSpecial xlPasteValues
End Sub

本质上我需要同样的东西,但是对于几千行,这需要更高级的代码。

excel vba
1个回答
0
投票

试试这个代码:

Sub Copy_Rows()
    Dim i As Long
    Dim lastRow As Long

    lastRow = Cells(Rows.Count, 1).End(xlUp).Row

    For i = 7 To lastRow Step 6
        Rows(i).Copy
        Rows(i - 2).PasteSpecial xlPasteValues
    Next i

    Application.CutCopyMode = False
End Sub
© www.soinside.com 2019 - 2024. All rights reserved.