Delete rows if cells value, across all worksheets!?

GassySpudz

New Member
Joined
Apr 30, 2019
Messages
10
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
 

Excel Facts

Select all contiguous cells
Pressing Ctrl+* (asterisk) will select the "current region" - all contiguous cells in all directions.
Hi & welcome to MrExcel.
Will the criteria be exact values, or will it be partial matches?
 
Upvote 0
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
 
Upvote 0
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.
 
Upvote 0
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
 
Upvote 0
What is the error message & number?
 
Upvote 0
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
 
Upvote 0
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?
 
Upvote 0
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
 
Upvote 0
Do the value(s) that you are filtering on actually exist in the sheet?
 
Upvote 0

Forum statistics

Threads
1,223,893
Messages
6,175,240
Members
452,621
Latest member
Laura_PinksBTHFT

We've detected that you are using an adblocker.

We have a great community of people providing Excel help here, but the hosting costs are enormous. You can help keep this site running by allowing ads on MrExcel.com.
Allow Ads at MrExcel

Which adblocker are you using?

Disable AdBlock

Follow these easy steps to disable AdBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the icon in the browser’s toolbar.
2)Click on the "Pause on this site" option.
Go back

Disable AdBlock Plus

Follow these easy steps to disable AdBlock Plus

1)Click on the icon in the browser’s toolbar.
2)Click on the toggle to disable it for "mrexcel.com".
Go back

Disable uBlock Origin

Follow these easy steps to disable uBlock Origin

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back

Disable uBlock

Follow these easy steps to disable uBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back
Back
Top