VBA编译错误发生

下面的代码是打算工作簿第一次打开时运行。

Sub Auto_Open() Dim LastRow As Integer LastRow = Sheet6.UsedRange.Rows.Count ActiveWorkbook.RefreshAll Sheet6.AutoFill Destination:=Range("Y2:Y" & LastRow) End Sub 

它将自动运行“全部刷新”以更新WorkBook中的任何查询或公式,然后自动填充sheet6列Y中的数据列表,使其可以在WorkSheet中find的最后一行数据。

当我去运行代码,我得到一个“编译错误:数据成员没有find方法”突出显示。

 .Autofill 

我不明白的是,这完全适用于一个相同的电子表格,而不仅仅是这一个。

我也尝试了下面的代码,这不工作在这张表上,但另一方面。

 Sub Auto_Open() ActiveWorkbook.RefreshAll Sheet6.AutoFill_ListSource End Sub 

ListSource是我试图自动填充的列Y中的表的名称。

谢谢你的帮助!

更改:

 Sheet6.AutoFill Destination:=Range("Y2:Y" & LastRow) 

至:

 Sheet6.Range("Y2").AutoFill Destination:=Sheet6.Range("Y2:Y" & LastRow) 

注意 :获得最后一行的“安全”方法将使用Find函数:

 Dim LastCell As Range Dim LastRow As Long With Sheet6 Set LastCell = .Cells.Find(What:="*", After:=.Cells(1), Lookat:=xlPart, LookIn:=xlFormulas, _ searchorder:=xlByRows, searchdirection:=xlPrevious, MatchCase:=False) If Not LastCell Is Nothing Then LastRow = LastCell.Row Else MsgBox "Error! worksheet is empty", vbCritical Exit Sub End If End With