Option Explicit Sub abc() Dim a, i As Long, j As Long a = [a1].CurrentRegion.Value For i = 1 To UBound(a) If Len(a(i, 1)) Then For j = UBound(a, 2) To 2 Step -1 a(i, j) = a(i, j - 1) Next a(i, j) = vbNullString End If Next [a1].CurrentRegion.Value = a End Sub