View Single Post
  #3   Report Post  
Posted to microsoft.public.excel.worksheet.functions
Martin Fishlock Martin Fishlock is offline
external usenet poster
 
Posts: 694
Default delete rows using macro

karl,

Try this:


Option Explicit
Option Compare Text
Sub deleterows()
Dim szWords As Variant
szWords = Array("word1", "word2", "word3")

Dim lWords As Long, lWordUBound As Long, lWordLBound As Long
lWordLBound = LBound(szWords)
lWordUBound = UBound(szWords)

Dim lRow As Long, lCol As Long
Dim lRowStart As Long, lRowEnd As Long
Dim lColStart As Long, lColEnd As Long
Dim rUsed As Range

Set rUsed = ActiveSheet.UsedRange

lRowStart = rUsed.Row
lRowEnd = lRowStart + rUsed.Rows.Count - 1
lColStart = rUsed.Column
lColEnd = lColStart + rUsed.Columns.Count - 1

For lRow = lRowEnd To lRowStart Step -1
For lCol = lColEnd To lColStart Step -1
For lWords = lWordLBound To lWordUBound
If Cells(lRow, lCol) = szWords(lWords) Then
' found so delete it and move on to next row
Rows(lRow).Delete
Exit For
End If
Next lWords
Next lCol
Next lRow

End Sub

--
Hope this helps
Martin Fishlock, Bangkok, Thailand
Please do not forget to rate this reply.


"nospam" <"karlb65(nospam)" wrote:

Hi all,

Can someone tell me what code to put in my macro to enable it to delete
any cell on Sheet1 containing "Word1" "Word2" "Word3" and so on?

When I copy data from our website into excel it contains headings that I
have to delete manually before doing my macro. The headings vary from
day to day so I need to be able to have the macro search for and delete
any or all of them.

Thanks