vba code to delete null rows after criteria found

  • Thread starter Thread starter tbmarlie
  • Start date Start date
T

tbmarlie

I'm trying to create some vba code to delete any rows that match a
specific criteria plus any null rows below that row. See below for
some sample data:

column f column g
019-70-6226 SOLTAX EARNINGS NO 1
SOLTAX EARNINGS NO 2
GROUP TOTALS SOLTAX EARNINGS NO 1
SOLTAX EARNINGS NO 2
578-94-0005 INCENTIVE PAYMENTS YTD
EXCLUDED FROM FICA-HI YTD

So, I would want to delete any row with the criteria, "GROUP TOTALS"
in column f plus any row(s) below the GROUP TOTALS row that has a null
in column f. It would do this until it reached the bottom of the
overall data. In this example, there would be 2 rows that need to be
deleted - The GROUP TOTALS row and the row immediately below it, but
there could be a variable number of blank rows below the GROUP TOTALS
row. Thanks
 
This Should do it.
This will go down the sheet and find the first occurrnce of Group Totals in
Colum F
Once Found it will delete this row and then continue down the list and
delete any row with data missing from Column F or any occurence of "Group
Total" in this same column.

Cheers,
Clint

It presumes there is Data always in Row 7
Sub CleanUp()
Dim Count as Integer, Rowz as integer
Rowz = Activesheet.Cells(Rows.Count, "G").End(xlUp).Row
Count =1
DO
Count = Count +1
Loop Until instr(Ucase(Activesheet.cells(Count,6)), "GROUP TOTALS") > 0
or Count >=Rowz
DO
IF instr(Ucase(Activesheet.cells(Count,6)), "GROUP TOTALS") > 0 THEN
Activesheet.rows(Trim(Str(Count)) & ":" & trim(Str(Count))).delete
IF Trim(Activesheet.cells(Count,6)) = "" THEN
Activesheet.rows(Trim(Str(Count)) & ":" & trim(Str(Count))).delete
Count = Count + 1
Loop until Count >= Rowz
End Sub
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Back
Top