Excel VBA-从一张图纸复制到另一张图纸>;只复制一行

Excel VBA-从一张图纸复制到另一张图纸>;只复制一行,vba,excel,Vba,Excel,我的代码有问题。代码应根据工作表“hideMaster”列B将所有行复制到最后一行,但此宏仅复制前5行 Sub DeleteFilterAndCopy() Dim LASSSST As Long Dim IP As Worksheet Set IP = ThisWorkbook.Worksheets("Input") LASSSST = IP.Cells(Rows.Count, "B").End(xlUp).Rows.Count Sheets("MASTER").Cells.clearc

我的代码有问题。代码应根据工作表“hideMaster”列B将所有行复制到最后一行,但此宏仅复制前5行

Sub DeleteFilterAndCopy()

Dim LASSSST As Long
Dim IP As Worksheet

Set IP = ThisWorkbook.Worksheets("Input")

LASSSST = IP.Cells(Rows.Count, "B").End(xlUp).Rows.Count

Sheets("MASTER").Cells.clearcontents
Sheets("hideMASTER").Range("A5:U" & LASSSST).Copy
Sheets("MASTER").Range("A1").PasteSpecial xlPasteValues

[...]
有人能在这里找到问题吗

LASSSST = IP.Cells(Rows.Count, "B").End(xlUp).Rows.Count
这是中的行数

IP.Cells(Rows.Count, "B").End(xlUp)
这是1,因为它只有一个细胞。这导致它复制了
“A5:U1”

使用


请注意,我包括了
IP.Rows.Count
而不是Shai Rado建议的
Rows.Count
,但是每张纸上的行数是相同的,所以这无关紧要。不过,引用所有内容仍然是一种好做法。

编辑:ArcadeSpecinct发现了错误

请尝试以下方法:

Sub DeleteFilterAndCopy()

Dim LASSSST As Long
Dim IP As Worksheet

Set IP = ThisWorkbook.Worksheets("Input")

Sheets("MASTER").Cells.clearcontents
With ThisWorkbook.Worksheets("hideMASTER")
    .Range("A5", .Cells(Rows.Count,21).End(xlUp)).Copy Destination:= ThisWorkbook.Worksheets("MASTER").Range("A1")
End with

修改你的
lassst=IP.Cells(Rows.Count,“B”).End(xlUp)。Rows.Count
lassst=IP.Cells(IP.Rows.Count,“B”).End(xlUp)。Rows.Count
你好,谢谢你的回答:)。但事实也是如此。它只粘贴5行。是否检查B列的最后一行?此列是否包含所有数据?稍后,您将从A列复制数据,同时,您将检查工作表“输入”中的最后一行,但从工作表“hideMASTER”复制范围??A包含一个向下延伸到工作表最后一行的函数。B包含正确数量的数据,因此我想使用此列确保它只复制相关行。这就是使用[F8]单步执行代码并在
lassst
上设置手表的地方。谢谢!我将测试这段代码。看起来比我的好一点;)
Sub DeleteFilterAndCopy()

Dim LASSSST As Long
Dim IP As Worksheet

Set IP = ThisWorkbook.Worksheets("Input")

Sheets("MASTER").Cells.clearcontents
With ThisWorkbook.Worksheets("hideMASTER")
    .Range("A5", .Cells(Rows.Count,21).End(xlUp)).Copy Destination:= ThisWorkbook.Worksheets("MASTER").Range("A1")
End with