以下代码用于在首次打开工作簿时运行。
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中找到的最后一行数据。
当我去运行代码时,我得到了一个“编译错误:未找到数据成员的方法”#39;哪些亮点。
.Autofill
我不明白的是,这在同一个电子表格中非常有效,而不仅仅是这个。
我还尝试过以下代码,但不能在此工作表上工作,但另一方面也是如此。
Sub Auto_Open()
ActiveWorkbook.RefreshAll
Sheet6.AutoFill_ListSource
End Sub
ListSource是我尝试自动填充的Y列中表格的名称。
答案 0 :(得分:3)
变化:
Sheet6.AutoFill Destination:=Range("Y2:Y" & LastRow)
为:
Sheet6.Range("Y2").AutoFill Destination:=Sheet6.Range("Y2:Y" & LastRow)
注意:a"更安全"获取最后一行的方法是使用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