As3*_*tin 8 excel vba excel-vba
我试图使用,Application.Match但它返回一个type mismatch error:13错误.为什么?
Dim mySrs as Series
Dim ws as Worksheet
set ws Activesheet
For Each mySrs in ActiveChart.SeriesCollection
tempvar = mySrs.Name
y = Application.Match(tempvar, ws.Range("P37:P71"), 0)
MsgBox y
Run Code Online (Sandbox Code Playgroud)
Jea*_*ett 19
很有可能,没有找到匹配.在这种情况下,Application.Match返回一个Excel错误代码,即Variant/Error,其值为Error 2042(这相当于#N/A在Excel中获取).
这样的Error值不能被隐式强制转换为String(这是MsgBox期望的),因此您会得到类型不匹配.
请注意,Match可以使用相同的函数调用WorksheetFunction.Match.唯一的区别是如何处理错误:
使用时WorksheetFunction,错误被视为VBA错误,使用On Error语法可捕获.
使用Application,它们返回包含在Variant中的Excel错误代码.您可以使用IsError查看返回的变量是否为错误类型变体.
| 归档时间: |
|
| 查看次数: |
26341 次 |
| 最近记录: |