Excel VBA - in a list, if cell equals specific value then
Don't know if it would be faster, but it would look cleaner to use a Select.

Sub ChangeTest()
    Dim LastRow As Long
    Dim i As Long
      LastRow = Range("M" &amp; Rows.Count).End(xlUp).Row
      For i = 2 To LastRow
        Select Case Range("M" &amp; i)
          Case "A", "B", "C"
            Range("L" &amp; i) = "1"
          Case "D","E","F"
            Range("L" &amp; i) = "2"
          Case "G","H","I"
            Range("L" &amp; i) = "3"
        End Select
      Next i
End Sub