I don't think you can do this with a Formula, you'll be needing VBA.
Something like;
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("C:G")) Is Nothing Then
Application.ScreenUpdating = False
For Each cel In Target
myRow = cel.Row
myCol = cel.Column
For x = myCol To 7
If Cells(myRow, myCol).Value = "" Then
If Cells(myRow, myCol + 1).Value <> "" Then
Cells(myRow, myCol).Value = Cells(myRow, myCol + 1).Value
Cells(myRow, myCol + 1).Value = ""
End If
End If
Next x
Next cel
Application.ScreenUpdating = True
End If
End Sub
Put that in the Worksheet code - It'll check columns C through G for changes, if it finds a blank cell it'll move all the values to the right along to the left.
Post back if you need more help
Bookmarks