Excel VBA如果range.value=某个值,则
我要找的是这个- 如果单元格范围内的一个值等于某个值或相同的值,那么它应该显示“正”或“负”-Excel VBA如果range.value=某个值,则,excel,if-statement,range,vba,Excel,If Statement,Range,Vba,我要找的是这个- 如果单元格范围内的一个值等于某个值或相同的值,那么它应该显示“正”或“负”- If range("F3:H5").value = "X" then Msgbox "Positive result" else Msgbox "Negative result" end if 您将需要以下内容: Dim found As Boolean found = False For Each cell In Range("F3:h5").Cells if cell.Value
If range("F3:H5").value = "X" then
Msgbox "Positive result"
else
Msgbox "Negative result"
end if
您将需要以下内容:
Dim found As Boolean
found = False
For Each cell In Range("F3:h5").Cells
if cell.Value = "X" Then
found = True
end if
Next
If found = True Then
Msgbox "Positive result"
else
Msgbox "Negative result"
End if
你可以使用这个功能
Function EvalRange(inRng As Range, inVal As Variant) As Variant
Dim CntAll, CntMatch As Double
CntAll = Application.Count(inRng)
CntMatch = Application.CountIf(inRng, inVal)
If CntAll = CntMatch Then
EvalRange = "Positive Result"
Else: EvalRange = "Negative Result"
End If
End Function
由于有两个外引号,“X”双引号
F3:H5=”“X“”是一个布尔结果数组F3=X、F4=X等
--负值将布尔值变为0/1;另一个负值“返回”为1/0
IIf,Evaluate,SUMPRODUCT…函数。对不起,GIYF。它应该用于以下目的:
Sub string_validation()
Dim cel As Range
For Each cel In Range("F3:H8")
If cel.Value = "hassle" Then
MsgBox "Positive result"
Else
MsgBox "Negative result"
End If
Next cel
End Sub
谢谢,但是我有多个不能在循环中运行的范围。有没有一种方法可以让我直接验证它?没有任何循环我不这么认为。这回答了问题,正如它所说的那样。For/Next循环是一个微不足道的额外代码来完成这项工作。注意:我没有添加任何错误/异常处理,因为解决方案只是简单而已例如,假设用户将为此目的进行必要的更改。这不是编写应用程序函数的正确语法。例如,Application.count。请尝试此操作以查看结果。我故意避免使用“Worksheetfunction”和“used”应用程序“使用该功能。简而言之,类似于Application.Count的语句比Worksheetfunction更稳定。Count“It throws an error”没有帮助。“它抛出了一个类型不匹配错误”给了我们更多的东西来处理。如果你解释一下你的代码会更好。欢迎来到StackOverflow。通常,最好解释一个解决方案,而不是仅仅发布几行匿名代码。你可以阅读,也可以阅读。
Sub string_validation()
Dim cel As Range
For Each cel In Range("F3:H8")
If cel.Value = "hassle" Then
MsgBox "Positive result"
Else
MsgBox "Negative result"
End If
Next cel
End Sub