我有这段代码,想要重复50次,或者直到右边的单元格中没有值
Sub DeleteCellShiftLeft()
For i = 1000 To 1 Step -1
If (Cells(i, 2).Value = "") Then
Cells(i, 2).Delete shift:=xlToLeft
End If
Next i
End Sub
答案 0 :(得分:1)
要检查右侧是否还有其他数据,您可以使用“查找”功能找到包含数据的最右侧单元格。
试试这个:
' Run the code 50 times
For x = 0 to 50
' Use the Find function to locate the bottom rightmost cell with any content in it.
Set BottomRightCell = ActiveSheet.Cells.Find(what:="*", After:=ActiveSheet.Range("A1"), LookIn:=xlFormulas, Lookat:= _
xlPart, SearchOrder:=xlByColumns, SearchDirection:=xlPrevious, MatchCase:=False)
' If the rightmost data is in column 2 or less (where you are deleting from), then exit the loop.
If BottomRightCell.Column <= 2 Then
Exit For
End If
' Otherwise, call your code.
DeleteCellShiftLeft()
Next x
如果右侧单元格中没有更多数据,这应该会调用您的代码50次,或者停止调用它。
我希望这能解决你的问题。