Else if .value = 1 to 92 code check
You can only use the To syntax with Case statements inside a Select block, and you can nest Select Blocks....

Note that indentation helps enormously, so I've changed the indentation to 2 spaces, although 4 is more typical, but doesn't always suit StackExchange rendering.

Sub q2country_and_q2country_other()

   Dim i As Long, c4 As Range, c5 As Range

   For i = 2 To 456
      Set c4 = Range("D" &amp; i)
      Set c5 = Range("E" &amp; i)

      Select Case c4.Value
        Case 94 
          Select Case c5.Value
            Case "", " ", "0", -99, -66, -77
              c4.Interior.color = vbRed
              c5.Interior.color = vbRed
            Case Else
              c4.Interior.color = vbGreen
              c5.Interior.color = vbGreen
          End Select

        Case 1 To 92 
          Select Case c5.Value
            Case -99, ""
              c4.Interior.color = vbGreen
              c5.Interior.color = vbGreen
            Case Else
              c4.Interior.color = vbRed
              c5.Interior.color = vbRed
          End Select
      End Select
    Next i
End Sub