Excel VBA application.match在.csv文件上返回错误13(类型不匹配)

Excel VBA application.match在.csv文件上返回错误13(类型不匹配),excel,vba,csv,Excel,Vba,Csv,我有以下Excel VBA代码: Dim xlApp As Excel.Application Dim SearchRequest As Workbook Dim SecondCols As Variant Dim businessNameStartRow As Variant Set xlApp = New Excel.Application Set SearchRequest = xlApp.Workbooks.Open("test.csv") SecondCols = SearchReq

我有以下Excel VBA代码:

Dim xlApp As Excel.Application
Dim SearchRequest As Workbook
Dim SecondCols As Variant
Dim businessNameStartRow As Variant

Set xlApp = New Excel.Application
Set SearchRequest = xlApp.Workbooks.Open("test.csv")
SecondCols = SearchRequest.Worksheets(1).Range("B1").EntireColumn
businessNameStartRow = Application.Match("business_name", SecondCols, 0)
当我运行它时,Application.match返回错误13(类型不匹配),但当我将.csv文件保存为.xls文件并对.xls文件运行相同的代码时,一切正常


希望有人能解释原因并给出解决方案,而不必更改文件。

这是一个模糊的预感,但我在使用application.match with variables时的经验很差-该匹配可以作为Excel公式使用,但不能在VB中使用。作为测试,尝试将“business_name”放在一个单元格中,并将该单元格用作第一个参数。为了解决这个问题,过去我只是使用for循环来测试相关列上的值,性能差异可以忽略不计。很可能,字符串
“business\u name”
与第2列中的字符串不完全相同。如果是这种情况,而您使用的是
Worksheetfunction.Match
,您应该会看到1004错误。