Basic Row Delete Marco

S

SalientAnimal

Hi Guys/Gals,

I'm looking for a very basic marco that will delete an entire row if th
cell in column U contains any text/value.

Thank
 
J

joeu2004

SalientAnimal said:
I'm looking for a very basic marco that will delete an
entire row if the cell in column U contains any text/value.

Not sure what you mean by "any text/value". Do you really mean "a specific
value"? Or do you mean "not a formula and not empty"? Do you mean simply
"not empty"?

I assume you mean "a specific value".

The following will delete rows conditionally over a selected region.


Sub doit()
Const mycol = "U"
const myval = 4 ' your "specific value" (my assumption)
Dim nr As Long, i As Long
Dim rng As Range, r as Range
Application.ScreenUpdating = False
rng = Selection ' your own range
nr = rng.Rows.Count
' important: process rows in reverse when deleting
For i = nr To 1 Step -1
Set r = rng.Cells(i, 1).EntireRow
If r.Cells(1, mycol) = myval Then r.Delete
Next
Application.ScreenUpdating = True
End Sub
 
D

Don Guillett

Hi Guys/Gals,

I'm looking for a very basic marco that will delete an entire row if the
cell in column U contains any text/value.

Thanks

filtering faster than loop
Sub DeleteNonBlanksinColumnSAS()
'column U is colummn 21
'Assumes columns a:u have date on header row
Application.ScreenUpdating = False
With ActiveSheet.UsedRange ' or Range("a2:u20000")
.AutoFilter Field:=21, Criteria1:="<>"
.Offset(1).EntireRow.Delete
.AutoFilter
End With
Application.ScreenUpdating = True
End Sub
 
D

Don Guillett

Hi Guys/Gals,

I'm looking for a very basic marco that will delete an entire row if the
cell in column U contains any text/value.

Thanks

dSub DeleteNonBlanksinColumnSAS()
'column U is colummn 21
'Assumes columns a:u have date on header row
Application.ScreenUpdating = False
With ActiveSheet.UsedRange 'Range("F2:J200")
.AutoFilter Field:=21, Criteria1:="<>"
.Offset(1).EntireRow.Delete
.AutoFilter
End With
Application.ScreenUpdating = True
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

Top