If its row is deleted the fRange becomes nothing. and the fRange.Row statement will throw an error. So storing its row number in a variable will handle this.
Sub M_snb()
Set fRange = Application.InputBox("Please Select the First Row of the Range", "First Row Selection", Type:=8)
FR = fRange.Row
For Each sh In Sheets
sh.UsedRange.Columns(1).Offset(FR - 1).SpecialCells(4).EntireRow.Delete
sh.Rows(FR).SpecialCells(4).EntireColumn.Delete
For Each it In Array("NE", "NW", "YH", "EM", "WM", "E", "L", "IL", "OL", "SE", "SW")
sh.UsedRange.Offset(FR - 1).Replace it, "=12/0", xlWhole
Next
sh.UsedRange.SpecialCells(xlCellTypeFormulas, xlErrors).EntireRow.Delete
Next
End Sub