如何返回布尔值为了有条件地格式化单元格?

VBE中的以下代码应返回true,以便在从“条件格式”对话框调用时相应地修改单元格:

Function sshProblem() Dim portStatus As String portStatus = ActiveCell.Value If StrComp(portStatus, "No") = 0 Then sshProblem = True End If End Function 

如果我将这个条件设置应用于值为“否”的单元格,则不会有任何反应:

在这里输入图像说明

您需要将范围传递到函数中,而不是每次更改select时都使用活动单元格:

 Function sshProblem(rng As Range) As Boolean Dim portStatus As String portStatus = rng.Value If StrComp(portStatus, "No") = 0 Then sshProblem = True End If End Function 

然后,您可以使用格式化范围内的左上angular的单元格对其进行调用。

所以如果我格式化A1:A1000的公式将是:

 =sshProblem(A1) 

![在这里输入图片描述

但是作为@Mat'sMug,他用他无穷的智慧说过这可以用一个简单的现有公式来完成:

 =A1="No" 

没有vba需要一些简单的东西。