如何在 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 中执行其他常见任务:

VBA:如何使用索引匹配
VBA:如何按多列对工作表进行排序
VBA:如何检查一个字符串是否包含另一个字符串

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注