连续复制几个值并使用VBA在excel的同一行中多次粘贴它

时间:2014-03-19 15:13:39

标签: excel vba excel-vba

我对VBA很新。我知道这是一个基本的疑问但无法在任何地方找到解决方案。我正在尝试复制24(A1:A24)值并将其粘贴(A25:A8760)。我能够复制单个值并将其粘贴次数。我无法为多个值执行此操作。

Sub Macro1()

Range("a1").Select
Selection.Copy

Range("a2:a30").Select

ActiveSheet.Paste     

End Sub

如果我有多个值,我该怎么做?

Sub Macro1()

Range("a1:a24").Select
Selection.Copy

现在我需要连续将上述24个值粘贴到(A25:A8760)? 感谢

2 个答案:

答案 0 :(得分:0)

以下将复制并粘贴364次......

Sub Macro1()
Dim i As Integer

Range("A1:A24").Select
Selection.Copy
For i = 1 To 364
    Range("A" & 1 + i * 24).Select
    ActiveSheet.Paste
Next i
End Sub

答案 1 :(得分:0)

起初我认为:Range("A1:A24").Copy Range("A25:A8760")Range("A25:A8760").Value = Range("A1:A24").Value应该有效。但是它没有,因为上面的解决方案仅复制在"使用过的"表的一部分。

然后我想出了以下解决方案(仅复制值):

With Range("A25:A8760")
    .Formula = "=A1"
    .Value = .Value
End With

<强> UPD:

此代码有效:

Range("A25:A8760").Value = ""
Range("A1:A24").Copy Range("A25:A8760")

备注:

我使用Range("A25:A8760").Value = ""使此范围成为UsedRange的一部分(否则,行Range("A1:A24").Copy Range("A25:A8760")只会复制在&#34;使用过的&#34;部分内容中)