No.3の追加です。
マクロを実行する前にブックのコピーはとっておいてください。
また、データが
しょうゆ ラーメン 100杯 → 200杯
のように商品名の間にスペースや→の前後にスペースがあった場合、No.3だと誤動作しますので以下のコードで実行してください。
一度で削除できなかった場合は、再度実行すると右から順に削除されていきます。
ただし、左側の「100杯」で「100 杯」のように数値と杯の間にスペースがあると100は残ります。
Sub Test()
Dim bool As Boolean
Dim mRng As Range, num As Long, i As Long
Dim tmp As Variant, buf As Variant
With Sheets("Sheet1")
'F8からF列のデータのある一番下の行までが対象
For Each mRng In .Range(.Cells(8, "F"), .Cells(Rows.Count, "F").End(xlUp))
buf = ""
tmp = Split(mRng, vbLf)
For i = 0 To UBound(tmp)
num = InStrRev(StrConv(tmp(i), vbNarrow), " ")
If InStr(tmp(i), "杯") > 0 Then
'セル内の各行に杯が含まれていれば右端の半角(全角)スペースから最後までを削除
buf = buf & Trim(WorksheetFunction.Replace(tmp(i), num + 1, Len(tmp(i)) - num, "")) & vbLf
Else
buf = buf & tmp(i) & vbLf
End If
Next
If buf <> "" Then
mRng.Value = Left(buf, Len(buf) - 1)
End If
Next
End With
End Sub