在Exec VBA中MATCH()失败 - 预期:列表分隔符或')'

时间:2016-05-23 13:20:02

标签: excel-vba vba excel

我正在尝试在vba中使用工作表函数MATCH()。我引用了一个列表对象:

debug.print Application.Match("Austria", qryGeoSubRegions[SubRegionname])

但它只返回错误Expected: List Separator or ')',它似乎不喜欢表列引用。有什么想法吗?

2 个答案:

答案 0 :(得分:1)

您的列引用可能存在问题。你能确认吗

qryGeoSubRegions[SubRegionname]

是指包含可能的查找值的连续单元格范围?

您可以使用更简单的范围定义来测试这个想法,例如

debug.print Application.Match("Austria", Worksheets(1).Columns(1), 0)

答案 1 :(得分:0)

问题是您在vba中使用工作表引用。更改对vba的引用或使用Evaluate:

 debug.print Application.Match("Austria", Range("qryGeoSubRegions[SubRegionname]"))

OR

debug.print Activesheet.Evaluate("MATCH(""Austria"", qryGeoSubRegions[SubRegionname])")