Find a text

G

Geir

Hi all
I am trying to find a text and delate a Row if the text is in the row.
But I am not sure how to do it.
Can someone help me?

Option Explicit
Sub FindText()
Dim Cell As Range
For Each Cell In ActiveSheet.UsedRange
If Cell = "Samtals hreyfing:" Then
‚the text Samtals hreyfing sin in in the column E:E
‚If the text Samtals hreyfing: is in the row then I want to delete the Row
End If
Next Cell
End Sub
 
R

Rick Rothstein

I think you may be looking for this...

Sub FindText()
Dim Cell As Range
For Each Cell In Intersect(ActiveSheet.UsedRange, Columns("E"))
If InStr(1, Cell.Value, "Samtals hreyfing:", vbTextCompare) Then
Cell.EntireRow.Delete
End If
Next Cell
End Sub
 
D

Dave Peterson

You want to delete all the rows that have that string in it:

Option Explicit
Sub testme()

Dim FoundCell As Range
Dim wks As Worksheet

Set wks = Worksheets("sheet1") 'change this!

With wks.Range("E:e")
Do
Set FoundCell = .Cells.Find(what:="Samtals hreyfing:", _
After:=.Cells(.Cells.Count), _
LookIn:=xlValues, _
LookAt:=xlWhole, _
SearchOrder:=xlByRows, _
SearchDirection:=xlNext, _
MatchCase:=False)

If FoundCell Is Nothing Then
'no more left, get out of the loop
Exit Do
Else
FoundCell.EntireRow.Delete
End If
Loop
End With
End Sub

Using Edit|Find is usually quicker than looping through all the cells.
 
D

Dave Peterson

This may miss consecutive rows with that value in it. If I were looping through
the range, I'd either start at the bottom and work my way toward the top.

Or build a range to be deleted and delete it after all cells are compared.
 
R

Rick Rothstein

To Dave: Aw crap! Of course you are right... I just went too fast in trying
to modify what the OP posted. Thanks for catching this!

To Geir: Use Dave's code... it will be faster than any loop that looks at
all individual cells in the range.
 

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