[英]Run-time error 91
我遇到運行時錯誤91,不知道為什么。 我將此代碼用於另一本工作簿,並且效果很好,我提取的列中的信息不同,但是我將所有列和范圍更改為正確的列,但是現在我在這里得到了這個錯誤,也是唯一的區別是范圍,請幫忙!
Range(Cells(20, 1), Cells(LastRow, LastCol)).Select
Selection.AutoFilter
Range("C2").Select
那是開始,但是這里是發生錯誤的地方:
ActiveWorkbook.Worksheets(msheet).AutoFilter.Sort.SortFields. _
Add Key:=Range("A20:A" & LastRow), SortOn:=xlSortOnValues, Order:=xlAscending, _
DataOption:=xlSortNormal
請幫助,我不知道我在想什么。 謝謝!
這是代碼的開頭:
Sub getdata()
Dim mastername As String
Dim count As Long
Dim match As Long
Dim repeat As Long
Dim path As String
Dim status As String
Dim name As String
Dim mpath As String
Dim cpath As String
Dim LastRow As Long
Dim LastCol As Integer
Dim mbank As String
Dim mname As String
mpath = Sheets("Master log").Cells(14, "W").Value
mname = Sheets("Master log").Cells(15, "W").Value
msheet = Sheets("Master log").Cells(16, "W").Value
Sheets("MGPR1").Range("A1:AA50000").ClearContents
name = Application.ActiveWorkbook.name
cpath = Application.ActiveWorkbook.path & "\"
Windows(name).Activate
'--open Management report workbook if not already open
If CheckFileIsOpen(mname) = False Then
Workbooks.Open mpath & mname
End If
'-------------------------------------------
Windows(mname).Activate
Sheets(msheet).Select
'select full data
With ActiveSheet
LastRow = .Cells(.Rows.count, "A").End(xlUp).Row
End With
With ActiveSheet
' LastCol = .Cells(1, .Columns.count).End(xlToLeft).Column
LastCol = 20
End With
您必須引用該range("A20.....")
的工作表range("A20.....")
,否則要在活動工作表中進行引用。
類似於sh.range("...")
,或使用with
部分,例如以下示例:
with ActiveWorkbook.Worksheets(msheet)
.AutoFilter.Sort.SortFields. _
Add Key:= .Range("A20:A" & LastRow), SortOn:=xlSortOnValues, Order:=xlAscending, _
DataOption:=xlSortNormal
end with
也有助於參考,並停止使用激活/選擇:
Dim Wb as Workbook
Dim Sh as Worksheet
'other code, i just write the needed code now
set wb = Workbooks.Open mpath & mname
set Sh = wb.Sheets(msheet)
with Sh
LastRow = .Cells(.Rows.count, "A").End(xlUp).Row
'lots of stuff to do (....) please wait , computing .... error / no really i try to be serious here!
end with
錯誤的含義是:
91-未設置對象變量
這是鈍的對象鏈。 這是一個錄制的宏,可以執行您要嘗試執行的操作。 如果有疑問,可以將復雜的語句簡化為簡單的語句。
也總是做一個Msgbox Vartype(whatever):Msgbox IsEmpty(whatever):msgbox IsNull(whatever)
。 這使您可以檢查什么是假設。
Range("A1:G19").Select
Selection.AutoFilter
Selection.AutoFilter Field:=3, Criteria1:="<>sub", Operator:=xlAnd
Selection.Sort Key1:=Range("C1"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
Range("H34").Select
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.