![](/img/trans.png)
[英]VBA Error Handling: Unable to get the match property of the worksheet function class
[英]Excel VBA - Match function error (Unable to get match property)
我正在嘗試進行匹配搜索以篩選出某些數據匹配的行。 例如,我有“ ButtonName”,它顯示了必須放置哪個列過濾器,而“ DataRange.Rows(1)
”是它嘗試搜索匹配項的范圍。 有時,當我進行一些編輯時,它顯示:
對象定義的錯誤
現在它顯示:
無法獲得比賽屬性
請有人告訴我代碼中的錯誤是什么?
Private Sub CommandButton21_Click()
Dim myButton As OptionButton
Dim SearchString As String
Dim ButtonName As Variant
Dim sht As Worksheet
Dim myField As Long
Dim DataRange As Range
Dim mySearch1, mySearch2, mySearch3 As Variant
'Load Sheet into A Variable
Set sht = ActiveSheet
Set a = ActiveSheet
'Unfilter Data (if necessary)
On Error Resume Next
sht.ShowAllData
On Error GoTo 0
'Filtered Data Range (include column heading cells)
Set DataRange = sht.Range("A13:AL3000") 'Cell Range
'Retrieve User's Search Input
mySearch1 = sht.Range("D4").Text 'Control Form ''Contains data entered in D4cell
ButtonName = sht.Range("M12").Text
If Not IsError(WorksheetFunction.Match(ButtonName, DataRange.Rows(1), 0)) Then
myField = WorksheetFunction.Match(ButtonName, DataRange.Rows(1), 0)
Else
MsgBox "no match is found in range(" & rngToSearch.Address & ")."
End If
'Filter Data
DataRange.AutoFilter _
Field:=myField, _
Criteria1:="=*" & mySearch1 & "*", _
Operator:=xlAnd, _
Criteria2:="=*" & mySearch2 & "*", _
Operator:=xlAnd, _
Criteria2:="=*" & mySearch3 & "*", _
Operator:=xlAnd
End Sub
該行發生錯誤:
If Not IsError(WorksheetFunction.Match(ButtonName, DataRange.Rows(1), 0))
進行以下更改:
Dim myField As Variant 'IMPORTANT
myField = Application.Match(ButtonName, DataRange.Rows(1), 0)
If IsError(myField) Then
MsgBox "no match is found in range(" & rngToSearch.Address & ")."
Else
'Filter Data
DataRange.AutoFilter _
Field:=myField, _
Criteria1:="=*" & mySearch1 & "*", _
Operator:=xlAnd, _
Criteria2:="=*" & mySearch2 & "*", _
Operator:=xlAnd, _
Criteria2:="=*" & mySearch3 & "*", _
Operator:=xlAnd
End If
嘗試對表達式求值:
If Evaluate("ISERROR(MATCH(""" & ButtonName & """," & Selection.Rows(1).Address & ",0))") Then
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.