无法将列中的所有数据复制到另一个工作表-Excel VBA

问题描述 投票:0回答:1

我无法复制列中的所有数据。我只想复制不包含第一行(标题)的数据并将其粘贴到另一张纸上。我的当前代码给了我一半的结果,因为数据之间有些空白。

[请帮助我-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
excel vba excel-2013
1个回答
0
投票

您的代码中只有小错误,请尝试以下操作:

Dim lastRowTD As Long
lastRowTD = wsRawT.Cells(Rows.Count, "A").End(xlUp).Row

wsRawT.Range("A2:A" & lastRowTD).Copy
wsDetI.Range("A2").PasteSpecial xlPasteValues

解释:此代码检查工作表A的列wsRawT中的数据集有多大。然后它将所有内容从单元格A2复制到数据的最后一行。然后将所有值粘贴到工作表A的列wsDetI。如果您不只需要这些值,也可以使用此简单版本的.Copy

wsRawT.Range("A2:A" & lastRowTD).Copy wsDetI.Range("A2")
© www.soinside.com 2019 - 2024. All rights reserved.