Delete rows if cells value, across all worksheets!?

GassySpudz

New Member
Hi All,

I've gotten myself in a right mess, sulked like a child and deleted all my work!

What I would like is the main body of a macro which I will hopefully adjust to what I need and I can call upon the sub within another macro.

I want to be able to delete multiple rows if column A cells contain a certain value (with the ability to add extra criteria in the future), but across ALL sheets!
I managed to get it working for a single sheet, but whilst using this site to get it to do all sheets it kept coming up with errors and during my “fixing” I’ve broken it, threw all my toys out the pram and just deleted everything!

If anyone has a code along these lines I can use to tinker with – and hopefully not break again – that would be much appreciated.

E.G
Delete x all sheets

X 2 A delete
B 2 A Keep
X 5 B Delete
 

Fluff

MrExcel MVP, Moderator
Hi & welcome to MrExcel.
Will the criteria be exact values, or will it be partial matches?
 

GassySpudz

New Member
Hi!

Thank for the fast response! It will be exact values I will manually edit in the macro. I would like to do it in a data range in the future so less capable bodies could edit, though i'll figure that out myself if you know if its even possible?

Zac
 

Fluff

MrExcel MVP, Moderator
Ok, how about
Code:
Sub GassySpudz()
   Dim Ws As Worksheet
   Dim Ary As Variant
   
   Ary = Array("[COLOR=#ff0000]Hertfordshire[/COLOR]", "[COLOR=#ff0000]Wiltshire[/COLOR]")
   For Each Ws In Worksheets
      If Ws.AutoFilterMode Then Ws.AutoFilterMode = False
      Ws.Range("A1").AutoFilter 1, Ary, xlFilterValues
      Ws.AutoFilter.Range.Offset(1).EntireRow.Delete
      Ws.AutoFilterMode = False
   Next Ws
End Sub
Change values in red to suit.
 

GassySpudz

New Member
Hi and thanks again!

It is running and deleting the data from one work sheet but showing an error when it tries to remove the filter :( and the yellow fault line is on the .delete row on VBA

Zac
 

GassySpudz

New Member
Hi there!

Sorry for the late reply, please see error below!

Run-time error '91';

Object variable or With block variable not set

Thanks,
Zac
 

Fluff

MrExcel MVP, Moderator
Not sure why you would be getting that error.
Do you have any merged cells?
Also does your data always start in A1 with a header on row 1?
 

GassySpudz

New Member
Hello again!

Sorry about the late reply, I've been in and out of the office!

No merged cells, and yes A1 is the header and A2 downwards is the start of the data

Thanks,
Zac
 

Some videos you may like

This Week's Hot Topics

  • Importing multiple excel files into one spreadsheet
    Hi, I'm trying to import multiple excel files (with the same format into a single spreadsheet) so that each day's file is listed underneath the...
  • find many based on a certain criteria
    good evening, I hope someone can help me? I have a workbook sheet 2 contains lots of data.... I would like to be able to find anything on sheet...
  • How to copy multiple rows using If
    Hi all, I'm very new to VBA and have written this simple code to copy certain cells if a certain cell within that row contains any data. I need...
  • VBA If statement
    Dear All, I have two dates, where I'd like a message box to pop, if the dates are between this criteria. [CODE] sDate1 = #10/1/2019#...
  • Text Format
    I have a sheet for user to keyin the data. The format of the data can be 451 / 1903, 0012 / 9908 or 00287 / 0099. The number after the "/" is...
  • Syntax errors
    Good Morning, Trying to compile a workbook, I keep getting a few errors. Here are the first two: [code=rich]Syntax Error: Function...
Top