我编写了以下代码,将范围w21:W1759复制并粘贴到范围AD21中:
Sub CommandButton1_Click()
Dim i As Integer, j As Integer
For j = 1 To Range("d7")
Range("d8") = j
'Calculate
Range("w21:W1759").Select
Selection.Copy
Range("AD21").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Next j
End Sub
我在w21:W1759范围内的数据被设置为每次单击都会更改(由于随机采样),我希望将该范围内的新数据复制并粘贴到范围“ ae”(相邻列)中。然后在下一个单击“ af”,依此类推。我需要在上面添加什么代码才能实现此目的?
非常感谢您的帮助
这将取决于列AC右侧的内容。如果Ad列是第一个空列,则很容易复制到该列。随后的复制操作可以使用相同的next-empty-column方法填充AE,AF等列。
Sub CommandButton1_Click()
Dim i As Long, j As Long
With Worksheets("Sheet1")
For j = 1 To .Range("d7")
.Range("d8") = j
.Calculate
With .Range("w21:w1759")
.Parent.Cells(21, Columns.Count).End(xlToLeft).Offset(0, 1).Resize(.Rows.Count, .Columns.Count) = .Value
End With
Next j
End With
End Sub
我已将您的Copy,PasteSpecial Values方法更改为直接值传输。这样更快,并且不涉及剪贴板。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句