将一张纸复印到另一张纸时缺less什么? 当前Sub运行时不包括所有行

我对VBA比较陌生。 当试图复制工作表时,并不是所有的行都包含在Sub运行的时候。 源文档中的行数是可变的,所以我使用了“LastRow”。 请让我知道我做错了什么?

Sub CopySheetsl() Dim wb As Workbook, wb1 As Workbook Dim LastRow As Long Set wb = Workbooks.Open("L:\x\Y\z\xxx.xlsx") Set wb1 = Workbooks("macro x v.01.xlsm") LastRow = range("A:Y").Find("*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row wb1.Sheets("Detail").range("C1", "AN1" & LastRow) = wb.Sheets("Detail_2").range("A1", "AL1" & LastRow).Value wb.Close End Sub 

罪魁祸首可能是这条线。

 LastRow = range("A:Y").Find("*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row 

尝试显式引用要从中复制的工作簿和工作表。

 LastRow = wb.Sheets("sheet name here").range("A:Y").Find("*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row 

如果你不这样做,那么它会查看你在给定的工作簿中活动的任何表格。