比较两个单元格字符串以打印出好坏

Comparing two cell strings to print out good or bad

下面是我苦思冥想的 VBA 代码。我有 4 个不同的值来比较以获得我想要的结果和多个要比较的东西。如果有人能帮我解决这个问题,那就太好了。

Public Sub cts_04_cmac_2_check()
    'CTS04CSPRWY CMAC 2 Check
    If (Sheet1.Range("A62") = "2.3.4/42/24/B1") And (Sheet1.Range("A63") = "2.3.4/42/1/B1") Then
            Sheet1.Range("C3").Value2 = "Good"
        Else
            Sheet1.Range("C3").Value2 = "Invalid"
    End If
    'End of CTS04CSPRWY CMAC 2 Check
End Sub

实际上,我希望包含 or 语句:

Public Sub cts_04_cmac_2_check()
    'CTS04CSPRWY CMAC 2 Check
    If (Sheet1.Range("A62") = "2.3.4/42/24/B1" Or Sheet1.Range("A62") = "2.3.4/42/24/B2) And (Sheet1.Range("A63") = "2.3.4/42/1/B1" Or Sheet1.Range("A63") = "2.3.4/42/1/B2") Then
            Sheet1.Range("C3").Value2 = "Good"
        Else
            Sheet1.Range("C3").Value2 = "Invalid"
    End If
    'End of CTS04CSPRWY CMAC 2 Check
End Sub

这会将 2 个值与根据选择而变化的数组索引 table 进行比较。

还有一个问题是:在一个end if之后是否可以继续添加额外的If语句?通过上面的类似代码,我有大约 256 次检查 运行。

比较这两个公式:

=INDEX('Collective Node Data'!A2:AQ1048576, 匹配(I3,'Collective Node Data'!A2:A230, 0),15) =INDEX('Collective Node Data'!A2:AQ1048576, 匹配(I3,'Collective Node Data'!A2:A230, 0),26) enter image description here

基于这个值

enter image description here

在 CMTS Check Cells C3 中获得“Good”或“Bad” enter image description here

我找到了解决方法,感谢您跟踪它并快速回复!

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Target, Range("$I")) Is Nothing Then
    Call ctscheck
    End If
End Sub

Public Sub ctscheck()
'CTS04CSPRWY CMAC 2 Check
    If (Sheet1.Range("A62") = "2.3.4/42/24/B1") And (Sheet1.Range("A63") = "2.3.4/42/1/B1") Then
            Sheet1.Range("C2").Value2 = "Good"
        ElseIf (Sheet1.Range("A62") = "2.3.4/42/24/A1") And (Sheet1.Range("A63") = "2.3.4/42/1/A1") Then
            Sheet1.Range("C2").Value2 = "Good"
        ElseIf (Sheet1.Range("A62") = "2.3.4/42/24/C1") And (Sheet1.Range("A63") = "2.3.4/42/1/C1") Then
            Sheet1.Range("C2").Value2 = "Good"
        Else
            Sheet1.Range("C2").Value2 = "Invalid"
    End If
'End of CTS04CSPRWY CMAC 2 Check
End Sub

只需要让 OR 语句与它一起工作,它是黄金。如果有人对此有任何建议,请告诉我。

此代码与您自己的基本相同,只是按照您的要求进行了压缩:

If (
     (  Sheet1.Range("A62") = "2.3.4/42/24/B1" And Sheet1.Range("A63") = "2.3.4/42/1/B1") Or _
     (  Sheet1.Range("A62") = "2.3.4/42/24/A1" And Sheet1.Range("A63") = "2.3.4/42/1/A1") Or _
     (  Sheet1.Range("A62") = "2.3.4/42/24/C1" And Sheet1.Range("A63") = "2.3.4/42/1/C1") _
   ) Then
        Sheet1.Range("C2").Value2 = "Good"
    Else
        Sheet1.Range("C2").Value2 = "Invalid"
End If