VLOOKUP 返回完全匹配的 ELSE 值吗?

VLOOKUP 返回完全匹配的 ELSE 值吗?

我是 VBA 新手,似乎无法弄清楚为什么我的代码不起作用。

我正在尝试对列VLOOKUP中的值进行Z检查,以查看是否存在任何“否”或“不确定”的值,BB如果匹配则返回列中的值(如“N”)。

Sub comp()
Dim sRange As String
Dim result As String
sRange = "z:z"

If sRange = "NO" Or sRange = "NOT SURE" Then
   result = "N"
Else
   result = "Y"
End If
Range("bb2").Value = result
End Sub

我不知道为什么它没有为“NO”和“NOT SURE”条目返回“N”。所有值都返回“Y”。

提前致谢。

答案1

您的代码返回 Y 而不是 N,因为对于变量,sRange您已分配了整个 Z 列,在这种情况下,您需要用 NO 或 NOT SURE 填充整个 Z 列。我确信你没有这样做过。

我建议您使用修改后的版本,该版本仅包含 Z 列中的几行,在这种情况下,VB 代码返回 N。

Sub comp()

Dim c As Range

    For Each c In Range("Z1:Z10")

        If (c.Value = "NO") Or (c.Value = "NOT SURE") Then

            Range("b2").Value = "N"
            Else
            Range("b2").Value = "Y"

        End If

    Next c

End Sub

查看下面的屏幕截图:

在此处输入图片描述

笔记,根据需要调整数据范围。

相关内容