VBE中的以下代码应返回true,以便在从“条件格式”对话框中调用时,相应地修改单元格:
Function sshProblem()
Dim portStatus As String
portStatus = ActiveCell.Value
If StrComp(portStatus, "No") = 0 Then
sshProblem = True
End If
End Function
如果我将此条件设置应用于值为“No”的单元格,则不会发生任何事情:
答案 0 :(得分:3)
您需要将范围传递给函数,而不是使用活动单元格,因为每次更改选择时都会更改:
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
然后,您可以使用格式化范围内的左上角单元格来调用它。
因此,如果我格式化A1:A1000,则公式为:
=sshProblem(A1)
但是,正如@Mat' sMug以他的无限智慧所说,这可以用一个简单的现有公式来完成:
=A1="No"
简单的事情不需要vba。