用户表单中的 VBA 匹配错误,用于编辑表格数据

问题描述

我在用户表单中使用 Match 来查找表中的记录,然后使用该记录的数据填充表单,以便对其进行编辑。但是,我无法通过匹配函数,该函数用于在表中查找行进行编辑。 我尝试了多种方法,但仍然出现错误

方法 1 - 引用表列
错误是“运行时错误 1004:无法获取 WorksheetFunction 类的 Match 属性

Private Sub Continue_Click()
Dim SearchRow As Integer
  SearchRow = Application.WorksheetFunction.Match(Date_Search,Sheet1.Range("Table1[Date]"),0)
  Unload EditEntry
  NewEntry.Play_Date = Sheet1.Range("Data_Start").Offset(SearchRow,1).Value
  NewEntry.Show
End Sub
@H_404_10@

方法 2 - 引用工作表的确切范围
错误是“运行时错误 1004:无法获取 WorksheetFunction 类的 Match 属性

Private Sub Continue_Click()
Dim SearchRow As Integer
  SearchRow = Application.WorksheetFunction.Match(Date_Search,Sheet1.Range("B4:B5"),1).Value
  NewEntry.Show
End Sub
@H_404_10@

即使我作为子程序引入只是为了测试,我仍然会出错。
错误是“运行时错误 1004:应用程序定义或对象定义的错误

Sub Testing()
Dim DateSearchTest As Date
Dim SearchRowTest As Long
    DateSearchTest = Sheet1.Range("B4").Value
    SearchRowTest = WorksheetFunction.Match(DateSearchTest,0)
End Sub
@H_404_10@

我这辈子都搞不清楚。非常感谢任何帮助。

解决方法

蒂姆威廉姆斯的评论允许编码工作。 CDate(variable) 没有,但转换为 long 可以让匹配正常工作,所以我不得不使用 CLng(variable) 作为匹配公式中的查找。