Как соответствовать нескольким критериям и получить сообщение - PullRequest
0 голосов
/ 24 мая 2019

В Excel VBA я хотел бы сопоставить 3 критерия из 3 столбцов и получить сообщение, если есть какое-либо совпадение.

Пока мой код:

Private Sub Worksheet_Change(ByVal Target As Range)
    If Range("A1:A10").Value = "America" And Range("B1:B10").Value = "cloudy" 
      And Range("C1:C10").Value > 30 Then
        MsgBox "This is the promised land!"
    End If
End Sub

Я получаюошибка, что есть проблема с другими значениями.

Worksheet

Ответы [ 2 ]

2 голосов
/ 24 мая 2019

Другой подход, но работает аналогично.

Dim i As Integer
For i = 2 To 10 ' Put something more variable instead of 10
   If Range("A" & i).Value = "Value4" And Range("B" & i).Value = "Value8" And Range("C" & i).Value > 30 Then
      MsgBox "Test"
   End If
Next i

Example Image

1 голос
/ 24 мая 2019

Цикл по каждому ряду:

Sub ceckit()
    Dim cell As Range, A As Range
    Set A = Range("A1:A10")
    For Each cell In A
        With cell
            If .Value = "America" And .Offset(0, 1).Value = "cloudy" And .Offset(0, 2).Value > 30 Then
                MsgBox "This is the promised land!"
            End If
        End With
    Next cell
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...