View Single Post
  #1   Report Post  
Posted to microsoft.public.excel.programming
Tripper Tripper is offline
external usenet poster
 
Posts: 2
Default vba to delete rows

I have a worksheet "Report" that is populated with revenue and expense
information by referencing a pivot table. When I select a new pivot
table page (department), the proper accounts and amounts appear on
"Report".

Different departments have different numbers of revenue and expense
rows, so "Report" has lots of rows of each type to accomodate any
department. I have a macro that copies the data to another sheet
called "Report (2)" so the original "Report" will stay intact. On
"Report (2)" I am trying to remove unnecessary blank rows.

I am a VBA newbie, so I copied some code from another thread and
modified it. It works, but it only removes six empty rows. If I run
it again, it removes six more empty rows. I can't figure out why it
only removes six empty rows at a time. Here's the code for the
revenue area:

'Remove blank revenue rows
Sub DeleteRows()
Set currentCell = Worksheets("Report (2)").Range("M12")
For Each cell In Range("M12:M28")
Set nextCell = currentCell.Offset(1, 0)
If Value(currentCell.Value) = 0 Then
currentCell.EntireRow.Delete
End If
Set currentCell = nextCell
Next
End Sub

Column M contains a value of zero only if certain cells in the row are
blank. If so, the entire row should be removed.

The revenue area on "Report (2)" is from row 12 to row 28.

Could anyone help a novice?

Thanks,
Dan