Question: I would like to have a pop up message appear every time a cell contains specific text. Everytime the word "Red Level" is in any of this cells (I22,I23,I34,I35,I36), I would like a MsgBox to appear. 
I am using a data validation list in all those cells mentioned above, to make sure the word "Red Level" is always the same.

I wrote some code and it worked but only when I had 1 cell in my range. When I tried to add the other cell numbers to my code, it will still only work for the first cell and not for the rest. 

Below is the code that worked for one cell:

```
Private Sub Worksheet_SelectionChange(ByVal Target As Range)  
    If Worksheets("A12").Range("I22").Value = "Red Level" Then
         MsgBox ("Please call maintenance immediately to refill reservoir")
    End If 
End Sub

```

I thought I could just add the rest of the cells to the range on my code, but that did not work. 
This is what I did but did not work (The MsgBox will only appear when the word "Red Level is on I22 and not in the other cells):

```
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Sheets("A12").Range("I22,I23,I34,I35,I36").Value = "Red Level" Then
         MsgBox ("Please call maintenance immediately to refill reservoir")
    End If
End Sub

```

Answer: 
You could use the worksheet's MATCH but it will not work on discontiguous cells so two checks must be made.

```
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    if not iserror(application.match("red level", Range("I22:I23"), 0)) or _
       not iserror(application.match("red level", Range("I34:I36"), 0)) then
         'Red Level is is at least one of the discontiguous cells
         MsgBox ("Please call maintenance immediately to refill reservoir")
    end if
End Sub

```

It's unclear what actually drives 'Red Level' to appear in range("I22:I23, I34:I36"). This may be better as a Worksheet\_Change. As is, the user cannot navigate through the worksheet if one or more of the cells remains 'Red Level'.

On a related note: is this within the A12 worksheet's code sheet? If so (as a private sub within the worksheet's code sheet), defining the parent worksheet with `Worksheets("A12")` is unnecessary. My code has removed the parent worksheet reference.
why not using find on the wanted cells range?

```
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Not Worksheets("A12").Range("I22,I23,I34:I36").Find(what:="Red Level", LookIn:=xlValues, lookat:=xlWhole) Is Nothing Then MsgBox "Please call maintenance immediately to refill reservoir"
End Sub

```

and, as @Jeeped already said, if the worksheet you're monitoring event of is named after "A12" then you can omit the `Worksheets("A12").` part