我收到错误无法获取工作表函数类的匹配属性

问题描述 投票:0回答:1

我正在尝试在 Excel VBA 中创建可靠的组合框,但是当我尝试这样做时,它显示错误无法获取工作表函数类的匹配属性

任何人都可以帮忙,下面是代码。

Private Sub ErrorCategory_Change()

Dim sh As Worksheet
Set sh = ThisWorkbook.Sheets("Category")
Dim i As Integer
Dim n As Integer

n = Application.WorksheetFunction.Match(Me.ErrorCategory.Value, sh.Range("1:1"), 0)

Me.SubCategory.Clear
    For i = 2 To Application.WorksheetFunction.CountA(sh.Cells(1, n).EntireColumn)
        Me.SubCategory.AddItem sh.Cells(i, n).Value
    Next i
     
End Sub

我在排队时遇到错误


n = Application.WorksheetFunction.Match(Me.ErrorCategory.Value, sh.Range("1:1"), 0)

我对 VBA 完全陌生。有人可以帮忙吗?

Errorcategory 是组合框的名称

excel vba combobox
1个回答
0
投票

根据我上面的评论:

Private Sub ErrorCategory_Change()

Dim sh As Worksheet
Set sh = ThisWorkbook.Sheets("Category")
Dim i As Integer
Dim n As Variant, v

Me.SubCategory.Clear
v = Me.ErrorCategory.Value
n = Application.Match(v, sh.Range("1:1"), 0) 'no `WorksheetFunction`

If Not  IsError(n) Then  'check for match
    For i = 2 To Application.WorksheetFunction.CountA(sh.Cells(1, n).EntireColumn)
        Me.SubCategory.AddItem sh.Cells(i, n).Value
    Next i    
Else
    Msgbox "no match found for '" & v & "'"
End if
 
End Sub

如果不匹配,请提供有关您尝试匹配的值类型的更多信息(日期?文本?数字?)

© www.soinside.com 2019 - 2024. All rights reserved.