如何在 vba 中使用 ifna(附示例)
如果公式生成#N/A错误,您可以使用 VBA 中的IfNa方法返回特定值。
以下是在实践中使用IfNa 的常见方法:
Sub UseVLOOKUP()
With Application
Range(" F2 ").Value = .IfNa(.Vlookup(Range(" E2 "), Range(" A2:C11 "),3,False), "No Value Found")
End With
End Sub
此特定宏尝试使用 VLOOKUP 函数查找A2:C11范围内单元格E2中的值。
如果单元格E2中的值未找到,则公式将给出#N/A 。
但是,我们可以使用IfNa方法返回“No Value Found”而不是#N/A 。
以下示例展示了如何在实践中使用此语法。
示例:如何在 VBA 中使用 IfNa
假设我们在 Excel 中有以下数据集,其中包含有关各种篮球运动员的信息:
假设我们要在数据集中搜索球队名称“Kings”,并在助攻列中返回相应的值。
我们可以创建以下宏来执行此操作:
Sub UseVLOOKUP()
With Application
Range(" F2 ").Value = .IfNa(.Vlookup(Range(" E2 "), Range(" A2:C11 "),3,False), "No Value Found")
End With
End Sub
当我们运行这个宏时,我们会收到以下输出:
该宏正确地为国王队返回了3 次助攻。
现在假设我们将单元格E2中的球队名称更改为“Grizzlies”,该名称在数据集中不存在。
当我们再次运行该宏时,它将返回“未找到值”,因为如果 VLOOKUP 函数导致 #N/A 错误,则应返回我们指定的值。
由于球队列中不存在灰熊队,因此该宏返回“未找到值”。
注意:您可以在此处找到 VBA IfNa方法的完整文档。
其他资源
以下教程说明如何在 VBA 中执行其他常见任务: