ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Delete Rows above keyword (https://www.excelbanter.com/excel-programming/279900-delete-rows-above-keyword.html)

Brian

Delete Rows above keyword
 
I would like to use vba to delete all rows that are above
a certain keyword. Right now I have a macro that will
separate a customers PO by location but when it does, some
of the sheets have many blank rows at the top. The reason
that I would like it to find a keyword is because on some
of them, there is useless information within the blank
area. For example on one of the sheets, there maybe 10
blank rows, then in cell A1 there may be the word 'Car'
and then 10 more blank rows before cell A1 has the
customer information. I would like to be able to delete
all of the rows above the customer information. Hope that
makes sense. tia



steve

Delete Rows above keyword
 
Brian,

Borrowed from Tom Olgivy.
Check the notes.
Test the code (code not tested)

Dim rng As Range
Dim rng1 As Range
Dim sStr As String
Set rng1 = Nothing
Set rng = Columns(1)
sStr = "ABCD"
' or use: sStr = inputbox("What to find")
Set rng1 = rng.Find(What:=sStr) ' change to suit your needs
If Not rng1 Is Nothing Then
Range(Rows(1), Rows(rng1.Row - 1)).Delete
Else
MsgBox "Not found"
End If

--
sb
"Brian" wrote in message
...
I would like to use vba to delete all rows that are above
a certain keyword. Right now I have a macro that will
separate a customers PO by location but when it does, some
of the sheets have many blank rows at the top. The reason
that I would like it to find a keyword is because on some
of them, there is useless information within the blank
area. For example on one of the sheets, there maybe 10
blank rows, then in cell A1 there may be the word 'Car'
and then 10 more blank rows before cell A1 has the
customer information. I would like to be able to delete
all of the rows above the customer information. Hope that
makes sense. tia





Brian

Delete Rows above keyword
 
Steve,

do you know if there is a way to modify this so that if my
keyword happens to be in cell A1 the macro will not error
out?



-----Original Message-----
Brian,

Borrowed from Tom Olgivy.
Check the notes.
Test the code (code not tested)

Dim rng As Range
Dim rng1 As Range
Dim sStr As String
Set rng1 = Nothing
Set rng = Columns(1)
sStr = "ABCD"
' or use: sStr = inputbox("What to find")
Set rng1 = rng.Find(What:=sStr) ' change to suit your

needs
If Not rng1 Is Nothing Then
Range(Rows(1), Rows(rng1.Row - 1)).Delete
Else
MsgBox "Not found"
End If

--
sb
"Brian" wrote in message
...
I would like to use vba to delete all rows that are

above
a certain keyword. Right now I have a macro that will
separate a customers PO by location but when it does,

some
of the sheets have many blank rows at the top. The

reason
that I would like it to find a keyword is because on

some
of them, there is useless information within the blank
area. For example on one of the sheets, there maybe 10
blank rows, then in cell A1 there may be the word 'Car'
and then 10 more blank rows before cell A1 has the
customer information. I would like to be able to delete
all of the rows above the customer information. Hope

that
makes sense. tia




.


steve

Delete Rows above keyword
 
Brian,

Need to test row number by adding another if ....

Sorry I didn't catch that...

If rng1.row 1 then
Range(Rows(1), Rows(rng1.Row - 1)).Delete
End If


Dim rng As Range
Dim rng1 As Range
Dim sStr As String
Set rng1 = Nothing
Set rng = Columns(1)
sStr = "ABCD"
' or use: sStr = inputbox("What to find")
Set rng1 = rng.Find(What:=sStr) ' change to suit your needs
If Not rng1 Is Nothing Then
If rng1.row 1 then
Range(Rows(1), Rows(rng1.Row - 1)).Delete
End If
Else
MsgBox "Not found"
End If

--
sb
"Brian" wrote in message
...
Steve,

do you know if there is a way to modify this so that if my
keyword happens to be in cell A1 the macro will not error
out?



-----Original Message-----
Brian,

Borrowed from Tom Olgivy.
Check the notes.
Test the code (code not tested)

Dim rng As Range
Dim rng1 As Range
Dim sStr As String
Set rng1 = Nothing
Set rng = Columns(1)
sStr = "ABCD"
' or use: sStr = inputbox("What to find")
Set rng1 = rng.Find(What:=sStr) ' change to suit your

needs
If Not rng1 Is Nothing Then
Range(Rows(1), Rows(rng1.Row - 1)).Delete
Else
MsgBox "Not found"
End If

--
sb
"Brian" wrote in message
...
I would like to use vba to delete all rows that are

above
a certain keyword. Right now I have a macro that will
separate a customers PO by location but when it does,

some
of the sheets have many blank rows at the top. The

reason
that I would like it to find a keyword is because on

some
of them, there is useless information within the blank
area. For example on one of the sheets, there maybe 10
blank rows, then in cell A1 there may be the word 'Car'
and then 10 more blank rows before cell A1 has the
customer information. I would like to be able to delete
all of the rows above the customer information. Hope

that
makes sense. tia




.





All times are GMT +1. The time now is 12:30 AM.

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