我使用的是 Office 2007。我有一个 PowerPoint 宏,使用 Excel 工作表执行 vLookup。我为 vLookup 制作了一个公共函数。当所有值正确提供时,它运行得很好。现在我正在尝试捕获那些查找值未被找到的情况下的错误。函数代码如下:
Public Function v_lookup _
(lookup_value As Variant, _
table_array As Range, _
col_index_num As Integer, _
range_lookup As Boolean) _
As String
Dim varResult As Variant
Dim objExcelAppVL As Object
Set objExcelAppVL = CreateObject("Excel.Application")
objExcelAppVL.Visible = False
varResult = objExcelAppVL.Application.WorksheetFunction.VLookup _
(lookup_value, _
table_array, _
col_index_num, _
range_lookup)
If IsError(varResult) Then varResult = ""
v_lookup = varResult
objExcelAppVL.Quit
Set objExcelAppVL = Nothing
End Function
我从主要的宏中使用以下语句调用此函数:
varGatherNumber = v_lookup(varDateTime, Lit_Sched_Table_Lookup, 5, vbFalse)
当没有错误时,这段代码工作得很好。问题是当查找失败时,我会被抛到Debug并指向该处,
varResult = objExcelAppVL.Application.WorksheetFunction.VLookup
...语句。当vlookup出现错误时,它永远不会到达If IsError(varResult)...
语句。我该如何正确捕获vLookup错误?
Application.Vlookup(...
- Scott Craner