Excel VBA 只复制粘贴数值( xlPasteValues )
我试图将工作表A中的整个列复制到工作表B中。工作表A列有用公式形成的值。我只用xlPasteValues来复制SheetA列的值。但它没有将这些值粘贴到另一个工作表B。工作表B中的列是空的。 我的VBA代码
Public Sub CopyrangeA()
Dim firstrowDB As Long, lastrow As Long
Dim arr1, arr2, i As Integer
firstrowDB = 1
arr1 = Array("BJ", "BK")
arr2 = Array("A", "B")
For i = LBound(arr1) To UBound(arr1)
With Sheets("SheetA")
lastrow = Application.Max(3, .Cells(.Rows.Count, arr1(i)).End(xlUp).Row)
.Range(.Cells(1, arr1(i)), .Cells(lastrow, arr1(i))).Copy
Sheets("SheetB").Range(arr2(i) & firstrowDB).PasteSpecial xlPasteValues
End With
Next
Application.CutCopyMode = False
End Sub
28
3
如果你想只是复制整个列,你可以通过这样的方式来简化代码。
或者
或者如果你想保持循环
我不会去复制/粘贴
就个人而言,如果你只需要柱子,我也会把它缩短一点。
从这个代码片段来看,"lastrow "或 "firstrowDB "并没有什么意义。