我无法复制列中的所有数据。我只想复制不包含第一行(标题)的数据,并将其粘贴到另一张纸上。我的当前代码为我提供了部分结果,因为数据之间存在一些空白。
由于我是VBA的新手,请帮助我。谢谢!
下面是我尝试过的两个代码。一种是通过xldown
方法,另一种是lastrow
。我发现使用lastrow
根本无法复制任何内容。
这是xldown
方法,它为我提供了部分数据(wsRawT
和wsDetI
是我定义的工作表):
wsRawT.Select
range("AI1").Select
ActiveCell.Offset(1, 0).range("A1").Select
range(Selection, Selection.End(xlDown)).Select
Selection.copy
wsDetI.Select
range("B1").Select
ActiveCell.Offset(1, -1).range("B1").Select
ActiveSheet.Paste
这是lastrow
方法,它甚至不允许我复制任何内容:
Dim lastRowTD As Long
lastRowTD = wsRawT.Cells(Rows.Count, "A").End(xlUp).Row
wsRawT.range("AU2" & lastRowRD).copy
wsDetI.range("A2").PasteSpecial xlPasteValues
wsDetS.range("A2").PasteSpecial xlPasteValues
答案 0 :(得分:0)
您的代码中只有一些小错误,请尝试以下操作:
Dim lastRowTD As Long
lastRowTD = wsRawT.Cells(Rows.Count, "AU").End(xlUp).Row
wsRawT.Range("AU2:AU" & lastRowTD).Copy
wsDetI.Range("A2").PasteSpecial xlPasteValues
说明:此代码检查工作表A
的列wsRawT
中的数据集有多大。然后,它将所有内容从单元格A2
复制到数据的最后一行。然后将所有值粘贴到工作表A
的列wsDetI
中。如果您不只需要这些值,则还可以使用以下更简单的.Copy
版本:
wsRawT.Range("AU2:AU" & lastRowTD).Copy wsDetI.Range("A2")