Excel VBA - 从一个工作表复制到另一个工作表>只复制一行

时间:2016-08-30 06:37:00

标签: 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.clearcontents
Sheets("hideMASTER").Range("A5:U" & LASSSST).Copy
Sheets("MASTER").Range("A1").PasteSpecial xlPasteValues

[...]

有人能在这里找到问题吗?

2 个答案:

答案 0 :(得分:2)

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

这是

中的行数
"A5:U1"

是1,因为它只有一个单元格。这导致它复制IP.Cells(IP.Rows.Count, "B").End(xlUp).Row

使用

IP.Rows.Count

请注意,我在Shai Rado建议中包含了Rows.Count而不是<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="eflair.helperscreentutorial.MainActivity"> <Button android:id="@+id/newButton" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:layout_alignParentLeft="true" android:layout_alignParentStart="true" android:text="New Button" /> <FrameLayout android:id="@+id/fullScreenLayout" android:layout_width="match_parent" android:layout_height="match_parent" /> </RelativeLayout> ,但每张纸上的行数相同,所以无关紧要。尽管如此,引用一切仍然是一种很好的做法。

答案 1 :(得分:2)

编辑:arcadeprecinct发现错误。

请改为尝试:

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