Worksheet Loop Macro Using InStr, maybe

SBF12345

Well-known Member
Joined
Jul 26, 2014
Messages
614
Greetings,

I would like to build a simple macro to delete charts in the activeworkbook. I have the following written below:

Code:
Dim x As Worksheet

    For Each x In ActiveWorkbook.Worksheets


        If InStr(1, ActiveWorkbook.Worksheet(x).Name, "Chart", 1) Then


        ActiveWorkbook.Worksheet(x).Delete


        End If


    Next x

I'm not sure that InStr is the correct function here. I would like a true or false value to return whether the word "Chart" is or is not present in the name. It should always be the first 5 characters of the worksheet name
 

Excel Facts

Shade all formula cells
To shade all formula cells: Home, Find & Select, Formulas to select all formulas. Then apply a light fill color.
Sorry struggling to paste onto the sheet so I typed it


sub GetRid()

Dim x as worksheet
dim y as string
for each x in activeworkbook.sheets
y = left(activesheet.name,5)
application.display alerts = false
if y = "Chart" Then Activesheet.delete
application.displayalerts = true
next x

end sub
 
Upvote 0
Hi, I am having trouble running the script below. For some reason it doesn't seem to want to run through the sheets. Can you see anything that might be preventing the macro from stepping through the worksheets?

Code:
Dim x As WorksheetDim y As String


For Each x In ActiveWorkbook.Worksheets


    y = Left(ActiveSheet.Name, 5)


    If y = "Chart" Then
    
    ActiveSheet.Delete
    
    End If


Next x




'
End Sub
 
Upvote 0
Are these chart sheets that you're trying to delete, or worksheets that start with "Chart"?
 
Last edited:
Upvote 0
They have tabs and are kept alongside the worksheets. They were generated using the chart wizard with the last choice being "chart in new sheet". To answer your question, I'm not sure.
 
Upvote 0
Code:
Sub sbf()
  Dim sh As Object

  Application.DisplayAlerts = False
  For Each sh In Sheets
    If TypeOf sh Is Chart Then sh.Delete
  Next sh
End Sub
 
Upvote 0

Forum statistics

Threads
1,223,903
Messages
6,175,289
Members
452,631
Latest member
a_potato

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