From: Gord Dibben on
Did you read any of the other replies you got?

Do you have just the three sheets or more but only need deleting on Sheets 1
through 3?

I will assume three only and column A will be used to determine end of data
for each sheet.

Sub DeleteRows_If_E_to_J_MT()
Dim lRow As Long
Dim StartRow As Long
Dim EndRow As Long
Dim ws As Worksheet
EndRow = ActiveSheet.Cells(Rows.Count, 1).End(xlUp) _
.Offset(1, 0).Row
For Each ws In ActiveWorkbook.Worksheets
With ws
StartRow = 1
For lRow = EndRow To StartRow Step -1
If Application.CountA(.Range(.Cells(lRow, "E"), _
.Cells(lRow, "J"))) = 0 Then .Rows(lRow).Delete
Next
End With
Next
End Sub


Gord Dibben MS Excel MVP

On Thu, 1 Apr 2010 15:17:07 -0700, ILoveMyCorgi
<ILoveMyCorgi(a)discussions.microsoft.com> wrote:

>I am sorry. What I am trying to do is analyze each row and if columns E
>through I are empty, delete that particular row, go on to the next row and
>analyze, etc. all the way to the end of my populated rows. One thing I also
>forgot to mention is that I have three worksheets, Sheet1, Sheet2, Sheet3
>with data where I need to delete the rows without data in the last five
>columns. I hope I make sense. thanks for your time.
>
>"Rick Rothstein" wrote:
>
>> I am confused at what you ultimately want done here given the wording of
>> your message; specifically, this part... "I want to delete the entire row
>> and move on to the end of my spreadsheet." Does that mean you are only
>> examining one row and if the condition is met for that one row, delete it
>> and go to the end of your data? If so, which row are we talking about... the
>> row with the active cell or some fixed row which you neglected to tell us?
>> And where at the end of your date... which column?
>>
>> --
>> Rick (MVP - Excel)
>>
>>
>>
>> "ILoveMyCorgi" <ILoveMyCorgi(a)discussions.microsoft.com> wrote in message
>> news:36203422-F3C3-48FF-A1BE-F6A763561362(a)microsoft.com...
>> > I have an Excel spreadsheet with 10 columns. If columns 5 through 10 are
>> > empty, I want to delete the entire row and move on to the end of my
>> > spreadsheet. Is there a function or an easy Visual Basic macro I can run
>> > to
>> > accomplish this task? Thanks in advance for your help... I do not know
>> > what
>> > I'd do without this resource!
>>
>> .
>>

From: Gord Dibben on
I'm starting to think that your cells in E through J are not really empty.

Do you have formulas returning blanks or spaces in these cells?


Gord

On Thu, 1 Apr 2010 15:55:02 -0700, ILoveMyCorgi
<ILoveMyCorgi(a)discussions.microsoft.com> wrote:

>I liked the formula but only yielded YY and no XX even though there were
>columns without data from E through J. I also tried the macro it did not
>work. I still had rows with data in columns A through D and no data in
>columns E through J are empty yet the rows have not been deleted.
>
>"Gord Dibben" wrote:
>
>> You don't need a macro.
>>
>> In column 11 enter =IF(COUNTA(E1:J1)=0,"XX","YY")
>>
>> Copy down and autofilter for XX then delete the rows.
>>
>> Macro..............
>>
>> Sub DeleteRows_If_E_to_J_MT()
>> Dim lRow As Long
>> Dim StartRow As Long
>> Dim EndRow As Long
>> With ActiveSheet
>> StartRow = 1
>> EndRow = 1000 'adjust to suit
>> For lRow = EndRow To StartRow Step -1
>> If Application.CountA(.Range(.Cells(lRow, "E"), _
>> .Cells(lRow, "J"))) = 0 Then .Rows(lRow).Delete
>> Next
>> End With
>> End Sub
>>
>>
>> Gord Dibben MS Excel MVP
>>
>> On Thu, 1 Apr 2010 11:13:02 -0700, ILoveMyCorgi
>> <ILoveMyCorgi(a)discussions.microsoft.com> wrote:
>>
>> >I have an Excel spreadsheet with 10 columns. If columns 5 through 10 are
>> >empty, I want to delete the entire row and move on to the end of my
>> >spreadsheet. Is there a function or an easy Visual Basic macro I can run to
>> >accomplish this task? Thanks in advance for your help... I do not know what
>> >I'd do without this resource!
>>
>> .
>>

From: Gord Dibben on
Spoke too soon. I now see your replies to other posting.


Gord

On Thu, 01 Apr 2010 16:06:18 -0700, Gord Dibben <gorddibbATshawDOTca> wrote:

>Did you read any of the other replies you got?
>
>Do you have just the three sheets or more but only need deleting on Sheets 1
>through 3?
>
>I will assume three only and column A will be used to determine end of data
>for each sheet.
>
>Sub DeleteRows_If_E_to_J_MT()
> Dim lRow As Long
> Dim StartRow As Long
> Dim EndRow As Long
> Dim ws As Worksheet
> EndRow = ActiveSheet.Cells(Rows.Count, 1).End(xlUp) _
> .Offset(1, 0).Row
> For Each ws In ActiveWorkbook.Worksheets
> With ws
> StartRow = 1
> For lRow = EndRow To StartRow Step -1
> If Application.CountA(.Range(.Cells(lRow, "E"), _
> .Cells(lRow, "J"))) = 0 Then .Rows(lRow).Delete
> Next
> End With
> Next
>End Sub
>
>
>Gord Dibben MS Excel MVP
>
>On Thu, 1 Apr 2010 15:17:07 -0700, ILoveMyCorgi
><ILoveMyCorgi(a)discussions.microsoft.com> wrote:
>
>>I am sorry. What I am trying to do is analyze each row and if columns E
>>through I are empty, delete that particular row, go on to the next row and
>>analyze, etc. all the way to the end of my populated rows. One thing I also
>>forgot to mention is that I have three worksheets, Sheet1, Sheet2, Sheet3
>>with data where I need to delete the rows without data in the last five
>>columns. I hope I make sense. thanks for your time.
>>
>>"Rick Rothstein" wrote:
>>
>>> I am confused at what you ultimately want done here given the wording of
>>> your message; specifically, this part... "I want to delete the entire row
>>> and move on to the end of my spreadsheet." Does that mean you are only
>>> examining one row and if the condition is met for that one row, delete it
>>> and go to the end of your data? If so, which row are we talking about... the
>>> row with the active cell or some fixed row which you neglected to tell us?
>>> And where at the end of your date... which column?
>>>
>>> --
>>> Rick (MVP - Excel)
>>>
>>>
>>>
>>> "ILoveMyCorgi" <ILoveMyCorgi(a)discussions.microsoft.com> wrote in message
>>> news:36203422-F3C3-48FF-A1BE-F6A763561362(a)microsoft.com...
>>> > I have an Excel spreadsheet with 10 columns. If columns 5 through 10 are
>>> > empty, I want to delete the entire row and move on to the end of my
>>> > spreadsheet. Is there a function or an easy Visual Basic macro I can run
>>> > to
>>> > accomplish this task? Thanks in advance for your help... I do not know
>>> > what
>>> > I'd do without this resource!
>>>
>>> .
>>>

From: Gary Keramidas on
haven't really tested it, but see if this will work, if the cells are
actually blank


Sub Macro3()
Dim ws As Worksheet
Dim i As Long
Dim lastrow As Long
For i = 1 To 3
Set ws = Worksheets(i)
lastrow = ws.Cells(Rows.Count, "A").End(xlUp).Row

With ws.Range("A1:J" & lastrow)
.AutoFilter Field:=5, Criteria1:="="
.AutoFilter Field:=6, Criteria1:="="
.AutoFilter Field:=7, Criteria1:="="
.AutoFilter Field:=8, Criteria1:="="
.AutoFilter Field:=9, Criteria1:="="
.AutoFilter Field:=10, Criteria1:="="
End With
ws.Range("A2:J" & lastrow).SpecialCells(xlCellTypeVisible).EntireRow.Delete
ws.AutoFilterMode = False
Next
End Sub


--


Gary Keramidas
Excel 2003


"ILoveMyCorgi" <ILoveMyCorgi(a)discussions.microsoft.com> wrote in message
news:36203422-F3C3-48FF-A1BE-F6A763561362(a)microsoft.com...
>I have an Excel spreadsheet with 10 columns. If columns 5 through 10 are
> empty, I want to delete the entire row and move on to the end of my
> spreadsheet. Is there a function or an easy Visual Basic macro I can run
> to
> accomplish this task? Thanks in advance for your help... I do not know
> what
> I'd do without this resource!

From: JLGWhiz on
I think you are right, Gord. The code I suggested worked just fine when
tested. The OP has to have some cells with "invisible" data in them for the
code not to work. Or, probably formulas with a "" value.



"Gord Dibben" <gorddibbATshawDOTca> wrote in message
news:5v9ar5lvsaj609hcpsf2fg5ovm5bam1pda(a)4ax.com...
> I'm starting to think that your cells in E through J are not really empty.
>
> Do you have formulas returning blanks or spaces in these cells?
>
>
> Gord
>
> On Thu, 1 Apr 2010 15:55:02 -0700, ILoveMyCorgi
> <ILoveMyCorgi(a)discussions.microsoft.com> wrote:
>
>>I liked the formula but only yielded YY and no XX even though there were
>>columns without data from E through J. I also tried the macro it did not
>>work. I still had rows with data in columns A through D and no data in
>>columns E through J are empty yet the rows have not been deleted.
>>
>>"Gord Dibben" wrote:
>>
>>> You don't need a macro.
>>>
>>> In column 11 enter =IF(COUNTA(E1:J1)=0,"XX","YY")
>>>
>>> Copy down and autofilter for XX then delete the rows.
>>>
>>> Macro..............
>>>
>>> Sub DeleteRows_If_E_to_J_MT()
>>> Dim lRow As Long
>>> Dim StartRow As Long
>>> Dim EndRow As Long
>>> With ActiveSheet
>>> StartRow = 1
>>> EndRow = 1000 'adjust to suit
>>> For lRow = EndRow To StartRow Step -1
>>> If Application.CountA(.Range(.Cells(lRow, "E"), _
>>> .Cells(lRow, "J"))) = 0 Then .Rows(lRow).Delete
>>> Next
>>> End With
>>> End Sub
>>>
>>>
>>> Gord Dibben MS Excel MVP
>>>
>>> On Thu, 1 Apr 2010 11:13:02 -0700, ILoveMyCorgi
>>> <ILoveMyCorgi(a)discussions.microsoft.com> wrote:
>>>
>>> >I have an Excel spreadsheet with 10 columns. If columns 5 through 10
>>> >are
>>> >empty, I want to delete the entire row and move on to the end of my
>>> >spreadsheet. Is there a function or an easy Visual Basic macro I can
>>> >run to
>>> >accomplish this task? Thanks in advance for your help... I do not know
>>> >what
>>> >I'd do without this resource!
>>>
>>> .
>>>
>