VBA删除列中的单元格,并根据单元格的值左移?

如果单元格为空,如何删除列B中的单元格(和左移)?

下面是我所拥有的,但它给出了“应用程序定义的或对象定义的错误”

Sub DeleteCellShiftLeft() For i = 1000 To 1 Step -1 If (Cells(i, B).Value = "") Then Cells(i, B).Delete shift:=xlToLeft End If Next i End Sub