【发布时间】:2014-07-19 04:34:04
【问题描述】:
我正在尝试将工作表 A 中的整个列复制到工作表 B。工作表 A 列具有使用公式形成的值。我只使用 xlPasteValues 复制 SheetA 列值。但它不会将值粘贴到另一个 sheetB。 sheetB 中的列是空的。 我的 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
【问题讨论】:
-
对我来说似乎工作正常。你有任何错误吗?
-
没有错误。 SheetB 列为空
-
您是否尝试过在主窗口旁边单步执行代码?分解代码也可能有助于发现您的错误。也许添加一些
.Select's,同时逐步尝试并查明发生了什么,但似乎没有任何东西阻止代码工作,据我自己运行后所见,我能做的不多建议。 -
Using The Transfer Method 在常规复制粘贴中获得 #N/A 值时帮助了我
标签: excel vba copy-paste