我是 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
查看下面的屏幕截图:
笔记,根据需要调整数据范围。