我对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)? 感谢
答案 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;部分内容中)