DELETE ROW IF

C

CC

Hello

I have this code to delete rows blank in columns at my choice
but I need also include another choice

"delete all rows if rows in X column are blank OR have a certain word (also
at my choice "


Is it possible ???
Thank you
cc
Sub DeleteEmptyRowsMain()
Dim myColm As Range
Dim LastCell As Range
Set myColm = Application.InputBox("Choose Start of column to clear",
Type:=8)
Set LastCell = Cells.Find("*", , , , , xlPrevious)
On Error Resume Next
If Not myColm Is Nothing Then
Range(myColm, Cells(LastCell.Row,
myColm.Column)).SpecialCells(xlCellTypeBlanks).EntireRow.Delete
Else
MsgBox "No Range Selected", vbOKOnly, "Error"
End If

End Sub
 
A

Atishoo

I would consider creating a user form with two text boxes one to enter the
column as per your current sub the second for your text.
give it two command buttons "ok" and "cancel"
then put your nice little sub under command button (ok) click, put same sub
in twice once following if userform1.textbox1.value <>""then
and userform1.textbox2.value <>""then
substituting your column criteria for textbox1.value and find criteria for
textbox2.value.
 
J

Jacob Skaria

Try the below

Sub DeleteEmptyRowsMain()
Dim myColm As Range, lngRow As Long, lngEndRow As Long

Set myColm = Application.InputBox( _
"Choose Start of column to clear", Type:=8)

If Not myColm Is Nothing Then
lngEndRow = Cells.Find("*", SearchDirection:=xlPrevious).Row
For lngRow = lngEndRow To (myColm.Row + 1) Step -1
If Cells(lngRow, myColm.Column) = "" Or _
Cells(lngRow, myColm.Column) = "jacob" Then Rows(lngRow).Delete
Next
Else
MsgBox "No Range Selected", vbOKOnly, "Error"
End If

End Sub

If this post helps click Yes
 
C

CC

I like Your sugestion but is to much for me .
How can I include your sugestion in "my" code ?
CC
 
C

CC

Hi
doesn't work

cc

Jacob Skaria said:
Try the below

Sub DeleteEmptyRowsMain()
Dim myColm As Range, lngRow As Long, lngEndRow As Long

Set myColm = Application.InputBox( _
"Choose Start of column to clear", Type:=8)

If Not myColm Is Nothing Then
lngEndRow = Cells.Find("*", SearchDirection:=xlPrevious).Row
For lngRow = lngEndRow To (myColm.Row + 1) Step -1
If Cells(lngRow, myColm.Column) = "" Or _
Cells(lngRow, myColm.Column) = "jacob" Then Rows(lngRow).Delete
Next
Else
MsgBox "No Range Selected", vbOKOnly, "Error"
End If

End Sub

If this post helps click Yes
 
J

Jacob Skaria

Do you mean a text string or a cell value? Try the below

Sub DeleteEmptyRowsMain()
Dim myColm As Range, lngRow As Long, lngEndRow As Long
Dim strFind As String

strFind = "cc"

Set myColm = Application.InputBox( _
"Choose Start of column to clear", Type:=8)

If Not myColm Is Nothing Then
lngEndRow = Cells.Find("*", SearchDirection:=xlPrevious).Row
For lngRow = lngEndRow To (myColm.Row + 1) Step -1
If Cells(lngRow, myColm.Column) = "" Or InStr(1, _
Cells(lngRow, myColm.Column), strFind, vbTextCompare) _
Then Rows(lngRow).Delete
Next
Else
MsgBox "No Range Selected", vbOKOnly, "Error"
End If

End Sub

If this post helps click Yes
 

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