尝试写一个宏来复制一个单元格并将其粘贴到接下来的三个单元格中。然后复制第五个单元格并将其粘贴到行中的第6,第7和第8个单元格。我在行中有很多数据需要以这种方式进行复制粘贴。到目前为止,我有类似的东西。
Sub copycell()
for i= 1 to 1000
Cells(1, i).Select
Selection.copy
Cells(1,i+1).Select
Selection.Paste
end if
End sub
next i
答案 0 :(得分:3)
尝试
Sub copycell()
For i = 1 To 1000 Step 4
Cells(1, i).Copy
Range(Cells(1, i + 1), Cells(1, i + 3)).PasteSpecial
Next i
End Sub
或只是
Sub copycell()
For i = 1 To 100 Step 4
Range(Cells(1, i + 1), Cells(1, i + 3)).Value = Cells(1, i).Value
Next i
End Sub
Step
关键字用于为循环的计数器变量指定不同的增量。 Step
更改用于递增计数器的值。在这种情况下,i
将增加4,即从1 to 5
再到9
再增加到13
,依此类推......
上面的代码会将一行中的单元格复制到右侧 如果要在列中向下复制单元格,则可以使用以下代码。
Sub copycell()
For i = 1 To 100 Step 4
Range(Cells(i + 1, 1), Cells(i + 3, 1)) = Cells(i, 1)
Next i
End Sub
答案 1 :(得分:1)
在这里,每个循环之间有4个步骤,以便从第一个单元格移动到第五个单元格。
Sub copycell()
for i= 1 to 1000 step 4
Cells(1,i+1) = Cells(1, i)
Cells(1,i+2) = Cells(1, i)
Cells(1,i+3) = Cells(1, i)
next i
End sub