Excel VBA返回';类型不匹配';.Find函数出错-即使它是';他在正确地搜索
我有一个问题,谷歌搜索告诉我很多人都有过,但有一个奇怪的例外。我正在尝试使用Outlook VBA搜索Excel电子表格,以查看是否存在记录(如果存在,请使用该记录的内容创建电子邮件) 我正在使用.find()函数,但它返回了一个错误-13,“类型不匹配”。奇怪的是:Excel VBA返回';类型不匹配';.Find函数出错-即使它是';他在正确地搜索,excel,vba,find,mismatch,Excel,Vba,Find,Mismatch,我有一个问题,谷歌搜索告诉我很多人都有过,但有一个奇怪的例外。我正在尝试使用Outlook VBA搜索Excel电子表格,以查看是否存在记录(如果存在,请使用该记录的内容创建电子邮件) 我正在使用.find()函数,但它返回了一个错误-13,“类型不匹配”。奇怪的是: Dim oXLApp As Excel.Application Dim oXLBook As Excel.Workbook Dim oXLSheet As Excel.Worksheet Dim rng As Range Dim
Dim oXLApp As Excel.Application
Dim oXLBook As Excel.Workbook
Dim oXLSheet As Excel.Worksheet
Dim rng As Range
Dim foundproject As Range
Dim ProjectExists As Boolean
Dim searchterm As String
availcheckinfo.Show 'a userform which gets the public variable availcheckproject
searchterm = availcheckproject
ProjectExists = False
Set oXLApp = New Excel.Application
Set oXLBook = oXLApp.Workbooks.Open(FileName:="filepathredacted.xlsm", ReadOnly:=True)
Set oXLSheet = oXLBook.Worksheets("Sheet1")
Set foundproject = oXLSheet.Range("A:A").Find(searchterm)
If Not foundproject Is Nothing Then
MsgBox "Match"
ProjectExists = True
Else
MsgBox "No match"
ProjectExists = False
End If
- 只有在存在匹配项时才会返回错误(我输入了一个我知道存在的searchterm)
- 当没有匹配项时,我会按预期得到msgbox“no match”
Dim oXLApp As Excel.Application
Dim oXLBook As Excel.Workbook
Dim oXLSheet As Excel.Worksheet
Dim rng As Range
Dim foundproject As Range
Dim ProjectExists As Boolean
Dim searchterm As String
availcheckinfo.Show 'a userform which gets the public variable availcheckproject
searchterm = availcheckproject
ProjectExists = False
Set oXLApp = New Excel.Application
Set oXLBook = oXLApp.Workbooks.Open(FileName:="filepathredacted.xlsm", ReadOnly:=True)
Set oXLSheet = oXLBook.Worksheets("Sheet1")
Set foundproject = oXLSheet.Range("A:A").Find(searchterm)
If Not foundproject Is Nothing Then
MsgBox "Match"
ProjectExists = True
Else
MsgBox "No match"
ProjectExists = False
End If
也许您的范围声明应该是Excel.Range?例如:将项目命名为Excel.Range–@Ron Rosenfeld也许您的范围声明应该改为
Excel.Range
?例如:以Excel格式创建项目。范围完美!这么简单。非常感谢。有趣的是,在我的机器上,这是不必要的。我硬编码了searchterm
,并使用了一个测试文件,但除此之外,没有更改您的代码。