ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   delete entire row based on conditional test of column A (https://www.excelbanter.com/excel-programming/381622-delete-entire-row-based-conditional-test-column.html)

guillermo.ht

delete entire row based on conditional test of column A
 
I have a spreadsheet with various invoice numbers in column A:
For example:
FC110107-002
PB110107-001
LV010707-001

I need a VBA macro that will delete delete an entire row if the LEFT 2
characters of a cell in column A have either: FC, PB, or GR

The default range of my data is usually rows 2 - 2000

I cannot seem to find other snippets of code that work for my needs, so any
help would be appreciated.


Chip Pearson

delete entire row based on conditional test of column A
 
Try something like the following:

Sub AAA()

Dim LastRow As Long
Dim FirstRow As Long
Dim RowNdx As Long
Dim WS As Worksheet

FirstRow = 1 '<<< CHANGE AS REQUIRED
Set WS = Worksheets("Sheet1") '<<< CHANGE AS REQUIRED

With WS
LastRow = .Cells(.Rows.Count, "A").End(xlUp).Row
For RowNdx = LastRow To FirstRow Step -1
Select Case Left(.Cells(RowNdx, "A").Value, 2)
Case "FC", "PB", "GR"
.Rows(RowNdx).Delete shift:=xlUp
Case Else
' do nothing
End Select
Next RowNdx
End With

End Sub



--
Cordially,
Chip Pearson
Microsoft MVP - Excel
Pearson Software Consulting, LLC
www.cpearson.com
(email address is on the web site)

"guillermo.ht" wrote in message
...
I have a spreadsheet with various invoice numbers in column A:
For example:
FC110107-002
PB110107-001
LV010707-001

I need a VBA macro that will delete delete an entire row if the LEFT 2
characters of a cell in column A have either: FC, PB, or GR

The default range of my data is usually rows 2 - 2000

I cannot seem to find other snippets of code that work for my needs, so
any
help would be appreciated.




guillermo.ht[_2_]

delete entire row based on conditional test of column A
 
Thank you very much. This worked perfectly and has saved me a serious headache.

"Chip Pearson" wrote:

Try something like the following:

Sub AAA()

Dim LastRow As Long
Dim FirstRow As Long
Dim RowNdx As Long
Dim WS As Worksheet

FirstRow = 1 '<<< CHANGE AS REQUIRED
Set WS = Worksheets("Sheet1") '<<< CHANGE AS REQUIRED

With WS
LastRow = .Cells(.Rows.Count, "A").End(xlUp).Row
For RowNdx = LastRow To FirstRow Step -1
Select Case Left(.Cells(RowNdx, "A").Value, 2)
Case "FC", "PB", "GR"
.Rows(RowNdx).Delete shift:=xlUp
Case Else
' do nothing
End Select
Next RowNdx
End With

End Sub



--
Cordially,
Chip Pearson
Microsoft MVP - Excel
Pearson Software Consulting, LLC
www.cpearson.com
(email address is on the web site)

"guillermo.ht" wrote in message
...
I have a spreadsheet with various invoice numbers in column A:
For example:
FC110107-002
PB110107-001
LV010707-001

I need a VBA macro that will delete delete an entire row if the LEFT 2
characters of a cell in column A have either: FC, PB, or GR

The default range of my data is usually rows 2 - 2000

I cannot seem to find other snippets of code that work for my needs, so
any
help would be appreciated.






All times are GMT +1. The time now is 12:33 PM.

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