ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Delete all rows with designated word (https://www.excelbanter.com/excel-programming/284343-delete-all-rows-designated-word.html)

PHILLY

Delete all rows with designated word
 
I'm looking for code that looks in one specific column for
a certain word ("delete") and deletes all those rows in
which it appears. I'm trying to use "Find" so that I can
delete them all at once rather than have it cycle through
each row. I'm sure there is a better way.........


Thanks!

Ron de Bruin

Delete all rows with designated word
 
Try this

It will look for "Find" in the A column in Worksheets("Sheet1")

Sub Test()
Dim r As Long
Application.ScreenUpdating = False
With Worksheets("Sheet1")
For r = .UsedRange.Rows.Count To 1 Step -1
If .Cells(r, "A").Value = "Find" Then .Rows(r).Delete
Next
End With
Application.ScreenUpdating = True
End Sub



--
Regards Ron de Bruin
(Win XP Pro SP-1 XL2002 SP-2)
www.rondebruin.nl



"PHILLY" wrote in message ...
I'm looking for code that looks in one specific column for
a certain word ("delete") and deletes all those rows in
which it appears. I'm trying to use "Find" so that I can
delete them all at once rather than have it cycle through
each row. I'm sure there is a better way.........


Thanks!




PHILLY

Delete all rows with designated word
 
Pure genius! Now, can you explain it to the humans?



-----Original Message-----
Try this

It will look for "Find" in the A column in Worksheets

("Sheet1")

Sub Test()
Dim r As Long
Application.ScreenUpdating = False
With Worksheets("Sheet1")
For r = .UsedRange.Rows.Count To 1 Step -1
If .Cells(r, "A").Value = "Find" Then .Rows

(r).Delete
Next
End With
Application.ScreenUpdating = True
End Sub



--
Regards Ron de Bruin
(Win XP Pro SP-1 XL2002 SP-2)
www.rondebruin.nl



"PHILLY" wrote in

message ...
I'm looking for code that looks in one specific column

for
a certain word ("delete") and deletes all those rows in
which it appears. I'm trying to use "Find" so that I can
delete them all at once rather than have it cycle

through
each row. I'm sure there is a better way.........


Thanks!



.


PHILLY

Delete all rows with designated word
 
One more question: How can I substitute the active
worksheet name for "Sheet 1" (the worksheet name will be
different each time)?

TIA

-----Original Message-----
Try this

It will look for "Find" in the A column in Worksheets

("Sheet1")

Sub Test()
Dim r As Long
Application.ScreenUpdating = False
With Worksheets("Sheet1")
For r = .UsedRange.Rows.Count To 1 Step -1
If .Cells(r, "A").Value = "Find" Then .Rows

(r).Delete
Next
End With
Application.ScreenUpdating = True
End Sub



--
Regards Ron de Bruin
(Win XP Pro SP-1 XL2002 SP-2)
www.rondebruin.nl



"PHILLY" wrote in

message ...
I'm looking for code that looks in one specific column

for
a certain word ("delete") and deletes all those rows in
which it appears. I'm trying to use "Find" so that I can
delete them all at once rather than have it cycle

through
each row. I'm sure there is a better way.........


Thanks!



.


Ron de Bruin

Delete all rows with designated word
 
Hi

For r = .UsedRange.Rows.Count To 1 Step -1

This will find the last row in the UsedRange and will loop from the bottem up to row 1

r = the row number in the loop
We use Cells(row,column) to see if the cell in column A have the text "Find" in it and delete the row
if the text is "Find"
If .Cells(r, "A").Value = "Find" Then .Rows(r).Delete


--
Regards Ron de Bruin
(Win XP Pro SP-1 XL2002 SP-2)
www.rondebruin.nl



"PHILLY" wrote in message ...
Pure genius! Now, can you explain it to the humans?



-----Original Message-----
Try this

It will look for "Find" in the A column in Worksheets

("Sheet1")

Sub Test()
Dim r As Long
Application.ScreenUpdating = False
With Worksheets("Sheet1")
For r = .UsedRange.Rows.Count To 1 Step -1
If .Cells(r, "A").Value = "Find" Then .Rows

(r).Delete
Next
End With
Application.ScreenUpdating = True
End Sub



--
Regards Ron de Bruin
(Win XP Pro SP-1 XL2002 SP-2)
www.rondebruin.nl



"PHILLY" wrote in

message ...
I'm looking for code that looks in one specific column

for
a certain word ("delete") and deletes all those rows in
which it appears. I'm trying to use "Find" so that I can
delete them all at once rather than have it cycle

through
each row. I'm sure there is a better way.........


Thanks!



.




Ron de Bruin

Delete all rows with designated word
 
Use

With ActiveSheet
Instead of
With Worksheets("Sheet1")



--
Regards Ron de Bruin
(Win XP Pro SP-1 XL2002 SP-2)
www.rondebruin.nl



"PHILLY" wrote in message ...
One more question: How can I substitute the active
worksheet name for "Sheet 1" (the worksheet name will be
different each time)?

TIA

-----Original Message-----
Try this

It will look for "Find" in the A column in Worksheets

("Sheet1")

Sub Test()
Dim r As Long
Application.ScreenUpdating = False
With Worksheets("Sheet1")
For r = .UsedRange.Rows.Count To 1 Step -1
If .Cells(r, "A").Value = "Find" Then .Rows

(r).Delete
Next
End With
Application.ScreenUpdating = True
End Sub



--
Regards Ron de Bruin
(Win XP Pro SP-1 XL2002 SP-2)
www.rondebruin.nl



"PHILLY" wrote in

message ...
I'm looking for code that looks in one specific column

for
a certain word ("delete") and deletes all those rows in
which it appears. I'm trying to use "Find" so that I can
delete them all at once rather than have it cycle

through
each row. I'm sure there is a better way.........


Thanks!



.




PHILLY

Delete all rows with designated word
 
That's the ticket, thanks again.


-----Original Message-----
Use

With ActiveSheet
Instead of
With Worksheets("Sheet1")



--
Regards Ron de Bruin
(Win XP Pro SP-1 XL2002 SP-2)
www.rondebruin.nl



"PHILLY" wrote in

message ...
One more question: How can I substitute the active
worksheet name for "Sheet 1" (the worksheet name will be
different each time)?

TIA

-----Original Message-----
Try this

It will look for "Find" in the A column in Worksheets

("Sheet1")

Sub Test()
Dim r As Long
Application.ScreenUpdating = False
With Worksheets("Sheet1")
For r = .UsedRange.Rows.Count To 1 Step -1
If .Cells(r, "A").Value = "Find" Then .Rows

(r).Delete
Next
End With
Application.ScreenUpdating = True
End Sub



--
Regards Ron de Bruin
(Win XP Pro SP-1 XL2002 SP-2)
www.rondebruin.nl



"PHILLY" wrote in

message ...
I'm looking for code that looks in one specific

column
for
a certain word ("delete") and deletes all those rows

in
which it appears. I'm trying to use "Find" so that I

can
delete them all at once rather than have it cycle

through
each row. I'm sure there is a better way.........


Thanks!


.



.


Ken Wright

Delete all rows with designated word
 
Just another couple of ways (I think the 2nd was Chip Pearson's):-

Sub DelRows()

ans = InputBox("What string do you want rows to be deleted if they contain it?")
Application.ScreenUpdating = False

lastrow = ActiveSheet.UsedRange.Row - 1 + _
ActiveSheet.UsedRange.Rows.Count

Set Rng = Range(Cells(1, "A"), Cells(lastrow, "A"))

With Rng
.AutoFilter
.AutoFilter Field:=1, Criteria1:=ans
.SpecialCells(xlCellTypeVisible).EntireRow.Delete
End With
Application.ScreenUpdating = True

End Sub

-----------------------------------------------------------

Sub DelRowsIf()

Dim RowNdx As Long
Dim LastRow As Long
Dim ans As String

ans = InputBox("What string do you want rows to be deleted if it contains it?")

LastRow = ActiveSheet.Cells(Rows.Count, "A").End(xlUp).Row
For RowNdx = LastRow To 1 Step -1
If StrComp(Cells(RowNdx, "A"), ans, vbBinaryCompare) = 0 Then
Cells(RowNdx, "A").EntireRow.Delete
End If
Next RowNdx

End Sub


--
Regards
Ken....................... Microsoft MVP - Excel
Sys Spec - Win XP Pro / XL 00/02/03

----------------------------------------------------------------------------
Newsgroups - Where you really can get a free lunch!!
----------------------------------------------------------------------------



"PHILLY" wrote in message
...
I'm looking for code that looks in one specific column for
a certain word ("delete") and deletes all those rows in
which it appears. I'm trying to use "Find" so that I can
delete them all at once rather than have it cycle through
each row. I'm sure there is a better way.........


Thanks!



---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.545 / Virus Database: 339 - Release Date: 27/11/2003



Muzzy

Delete all rows with designated word
 
Can Ron de Bruin's code be modified to hide a row instead of deleting it?
If so, how?

TIA
Muzzy



"PHILLY" wrote in message
...
I'm looking for code that looks in one specific column for
a certain word ("delete") and deletes all those rows in
which it appears. I'm trying to use "Find" so that I can
delete them all at once rather than have it cycle through
each row. I'm sure there is a better way.........


Thanks!




Ron de Bruin

Delete all rows with designated word
 
Use this line Muzzy

If .Cells(r, "A").Value = "Find" Then .Rows(r).Hidden = True


--
Regards Ron de Bruin
(Win XP Pro SP-1 XL2002 SP-2)
www.rondebruin.nl



"Muzzy" wrote in message ...
Can Ron de Bruin's code be modified to hide a row instead of deleting it?
If so, how?

TIA
Muzzy



"PHILLY" wrote in message
...
I'm looking for code that looks in one specific column for
a certain word ("delete") and deletes all those rows in
which it appears. I'm trying to use "Find" so that I can
delete them all at once rather than have it cycle through
each row. I'm sure there is a better way.........


Thanks!







All times are GMT +1. The time now is 07:49 AM.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
ExcelBanter.com