View Single Post
 
Old 07-01-2015, 05:48 AM
macropod's Avatar
macropod macropod is online now Windows 7 64bit Office 2010 32bit
Administrator
 
Join Date: Dec 2010
Location: Canberra, Australia
Posts: 22,338
macropod has a reputation beyond reputemacropod has a reputation beyond reputemacropod has a reputation beyond reputemacropod has a reputation beyond reputemacropod has a reputation beyond reputemacropod has a reputation beyond reputemacropod has a reputation beyond reputemacropod has a reputation beyond reputemacropod has a reputation beyond reputemacropod has a reputation beyond reputemacropod has a reputation beyond repute
Default

Try:
Code:
Sub Demo()
Application.ScreenUpdating = False
Dim lRow As Long, lCol As Long, i As Long, j As Long
With ActiveWorkbook.ActiveSheet.UsedRange
  lRow = .Cells.SpecialCells(xlCellTypeLastCell).Row
  lCol = .Cells.SpecialCells(xlCellTypeLastCell).Column
  For i = lRow - 1 To 2 Step -1
    If .Range("B" & i + 1).Value = 0 Then
    ElseIf .Range("B" & i).Value = 0 Then
    Else
      j = .Range("B" & i + 1).Value - .Range("B" & i).Value - 1
      If j > 0 Then
        .Range(.Cells(i + 1, 1), .Cells(i + j, lCol)).Insert Shift:=xlShiftDown
      End If
    End If
  Next
  j = Format(.Range("B2").Value, "dd")
  If j > 1 Then
    .Range(.Cells(2, 1), .Cells(j, lCol)).Insert Shift:=xlShiftDown
  End If
End With
Application.ScreenUpdating = True
End Sub
Cross-posted at: http://www.excelforum.com/excel-prog...lue-cells.html
For cross-posting etiquette, please read: http://www.excelguru.ca/content.php?184
__________________
Cheers,
Paul Edstein
[Fmr MS MVP - Word]

Last edited by macropod; 07-01-2015 at 05:53 AM. Reason: Minor Code Revision
Reply With Quote