我需要一个 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
本质上我需要同样的东西,但是对于几千行,这需要更高级的代码。
试试这个代码:
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