までには存在しなくなるまで右側にデータがあるかどうかを確認するには、Find関数を使用して、データを含む最も右のセルを検索します。
はこれを試してみてください:
' 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回呼び出し、または右に細胞内にこれ以上データがない場合は、それを呼び出して停止する必要があります。
これがあなたの問題を解決することを願っています。
私のデータの一部も再配置され、コードで正常に動作します。ありがとうございます! – wannaknow2017
@ wannaknow2017うれしそうに聞いてうれしかったです! –