A family of Microsoft spreadsheet software with tools for analyzing, charting, and communicating data.
Assuming that you do not have Option Compare Text at the top of the module:
UCase converts strings to UPPER CASE, so the values you compare with should be in upper case too:
Dim m As Long
m = wsh2.Range("M" & wsh2.Rows.Count).End(xlUp).Row
For r = m To 1 Step -1
If UCase(wsh2.Range("M" & r)) = "N/A" Or _
UCase(wsh2.Range("M" & r)) = "EXTERNAL" Or _
UCase(wsh2.Range("M" & r)) = "NOT YET BAU" Or _
UCase(wsh2.Range("M" & r)) = "OTHER" Then
wsh2.Range("M" & r).EntireRow.Delete
End If
Next r
Or, slightly more elegant
Dim m As Long
m = wsh2.Range("M" & wsh2.Rows.Count).End(xlUp).Row
For r = m To 1 Step -1
Select Case UCase(wsh2.Range("M" & r))
Case "N/A", "EXTERNAL", "NOT YET BAU", "OTHER"
wsh2.Range("M" & r).EntireRow.Delete
End Select
Next r