Home |
Search |
Today's Posts |
#1
Posted to microsoft.public.excel.programming
|
|||
|
|||
Deleting blank rows
Hi,
I am writing a macro to delete the entire row if all the cells are blank. For example, in a range which 10 rows by 3 columns. Data in the first column is 2 rows deep, 2nd column - 1 row, 3rd column - 3 rows. I want the macro to delete rows 4 through to 10. This is what I tried: Dim c As Range Dim myString As String For Each c In Range("A1:A10").Cells myString = c & c.Offset(0, 1) & c.Offset(0, 2) If Len(myString) = 0 Then c.EntireRow.Delete End If Next c What happens is that only half the blank rows are deleted. It seems as though after the first row is deleted 'Next c' skips a row. What am I doing wrong? Regards, Michael |
#2
Posted to microsoft.public.excel.programming
|
|||
|
|||
Deleting blank rows
Dim c As Range
Dim myString As String Dim i as Long For i = 10 to 1 step -1 set c = Cells(i,1) myString = c & c.Offset(0, 1) & c.Offset(0, 2) If Len(myString) = 0 Then c.EntireRow.Delete End If Next c -- Regards, Tom Ogilvy "Michael Chang" wrote in message ... Hi, I am writing a macro to delete the entire row if all the cells are blank. For example, in a range which 10 rows by 3 columns. Data in the first column is 2 rows deep, 2nd column - 1 row, 3rd column - 3 rows. I want the macro to delete rows 4 through to 10. This is what I tried: Dim c As Range Dim myString As String For Each c In Range("A1:A10").Cells myString = c & c.Offset(0, 1) & c.Offset(0, 2) If Len(myString) = 0 Then c.EntireRow.Delete End If Next c What happens is that only half the blank rows are deleted. It seems as though after the first row is deleted 'Next c' skips a row. What am I doing wrong? Regards, Michael |
#3
Posted to microsoft.public.excel.programming
|
|||
|
|||
Deleting blank rows
Delete from the bottom, up.
Mike F "Michael Chang" wrote in message ... Hi, I am writing a macro to delete the entire row if all the cells are blank. For example, in a range which 10 rows by 3 columns. Data in the first column is 2 rows deep, 2nd column - 1 row, 3rd column - 3 rows. I want the macro to delete rows 4 through to 10. This is what I tried: Dim c As Range Dim myString As String For Each c In Range("A1:A10").Cells myString = c & c.Offset(0, 1) & c.Offset(0, 2) If Len(myString) = 0 Then c.EntireRow.Delete End If Next c What happens is that only half the blank rows are deleted. It seems as though after the first row is deleted 'Next c' skips a row. What am I doing wrong? Regards, Michael |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
Similar Threads | ||||
Thread | Forum | |||
Deleting blank rows | Excel Discussion (Misc queries) | |||
deleting blank rows | New Users to Excel | |||
Deleting Blank Rows. | Excel Discussion (Misc queries) | |||
Deleting Blank Rows | New Users to Excel | |||
DELETING BLANK ROWS | Excel Programming |