无法将列中的所有数据复制到另一个 sheet - excel VBA
Unable to copy all data in column to another sheet - excel VBA
我无法复制列中的所有数据。我只想复制不包括第一行 (headers) 的数据,然后将其粘贴到另一个 sheet。我当前的代码给出了部分结果,因为数据之间有一些空白。
请帮助我,因为我是 VBA 的新手。谢谢!
下面是我试过的两个代码。一种是通过 xldown
方法,另一种是 lastrow
。我发现使用 lastrow
,我什至无法复制任何东西。
这是xldown
方法,它给我部分数据(wsRawT
和wsDetI
是我定义的工作sheet):
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
您的代码中只有一些小错误,试试这个:
Dim lastRowTD As Long
lastRowTD = wsRawT.Cells(Rows.Count, "AU").End(xlUp).Row
wsRawT.Range("AU2:AU" & lastRowTD).Copy
wsDetI.Range("A2").PasteSpecial xlPasteValues
解释一下:此代码检查 sheet wsRawT
的 A
列中的数据集有多大。然后它复制从单元格 A2
到最后一行数据的所有内容。然后将所有值粘贴到 sheet wsDetI
的列 A
。如果您不特别需要这些值,您也可以使用 .Copy
:
这个更简单的版本
wsRawT.Range("AU2:AU" & lastRowTD).Copy wsDetI.Range("A2")
我无法复制列中的所有数据。我只想复制不包括第一行 (headers) 的数据,然后将其粘贴到另一个 sheet。我当前的代码给出了部分结果,因为数据之间有一些空白。
请帮助我,因为我是 VBA 的新手。谢谢!
下面是我试过的两个代码。一种是通过 xldown
方法,另一种是 lastrow
。我发现使用 lastrow
,我什至无法复制任何东西。
这是xldown
方法,它给我部分数据(wsRawT
和wsDetI
是我定义的工作sheet):
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
您的代码中只有一些小错误,试试这个:
Dim lastRowTD As Long
lastRowTD = wsRawT.Cells(Rows.Count, "AU").End(xlUp).Row
wsRawT.Range("AU2:AU" & lastRowTD).Copy
wsDetI.Range("A2").PasteSpecial xlPasteValues
解释一下:此代码检查 sheet wsRawT
的 A
列中的数据集有多大。然后它复制从单元格 A2
到最后一行数据的所有内容。然后将所有值粘贴到 sheet wsDetI
的列 A
。如果您不特别需要这些值,您也可以使用 .Copy
:
wsRawT.Range("AU2:AU" & lastRowTD).Copy wsDetI.Range("A2")