Consulting

Results 1 to 4 of 4

Thread: Another Delete Sheets Macro

  1. #1
    VBAX Regular
    Joined
    Sep 2017
    Posts
    24
    Location

    Another Delete Sheets Macro

    Hi

    I have looked for a basic method to do this but cannot seem to find it :-/

    I just want to delete any sheet that is in a list on a defined sheet as a list
    So list may be 20 sheet names in column A1:20, but it needs to be dynamic so I can amend the list

    Code I had working before uses specific sheet name

    Dim i As Integer, n As Integer 
    n = ThisWorkbook.Worksheets.Count 
     
     
    Set MyList = Sheets("Results").Range("A1") 
    Set MyList = Range(MyRange, MyRange.End(xlDown)) 
     
     
    Application.DisplayAlerts = True 
     
    For i = n To 1 Step -1 
         
         
        On Error Resume Next 
        If InStr(1, Sheets(i).Name, "Test Sheet") Then Sheets(i).Delete 'named sheet works
        If InStr(1, Sheets(i).Name, MyList) Then Sheets(i).Delete ' Use variable for sheet name?
        On Error GoTo 0 
    Next I
    If using line to of the InSTr, it works but deletes all sheets in workbook

    Thanks for the help

  2. #2
    VBAX Guru mancubus's Avatar
    Joined
    Dec 2010
    Location
    "Where I lay my head is home" :D
    Posts
    2,644
    Sub vbax_61039_del_sheets_in_list()
    
        Dim i As Long
        Dim MyList
     
        With Application
            .DisplayAlerts = False
            .ScreenUpdating = False
        End With
     
        With Worksheets("Results")
            MyList = .Range("A1:A" & .Range("A1").End(xlDown).Row).Value
        End With
    
    
        On Error Resume Next
        For i = LBound(MyList, 1) To UBound(MyList, 1)
            If Worksheets.Count = 1 Then Exit For
            Worksheets(MyList(i, 1)).Delete
        Next i
    
    
    End Sub
    PLS DO NOT PM; OPEN A THREAD INSTEAD!!!

    1) Posting Code
    [CODE]PasteYourCodeHere[/CODE]
    (or paste your code, select it, click # button)

    2) Uploading File(s)
    Go Advanced / Attachments - Manage Attachments / Add Files / Select Files / Select the file(s) (multiple files can be selected while holding Ctrl key) / Upload Files / Done
    Replace company specific / sensitive / confidential data. Include so many rows and sheets etc in the uploaded workbook to enable the helpers visualize the data and table structure. Helpers do not need the entire workbook.

    3) Testing the Codes
    always back up your files before testing the codes.

    4) Marking the Thread as Solved
    from Thread Tools (on the top right corner, above the first message)

  3. #3
    VBAX Regular
    Joined
    Sep 2017
    Posts
    24
    Location
    Works perfectly!

    Thank you very much

  4. #4
    VBAX Guru mancubus's Avatar
    Joined
    Dec 2010
    Location
    "Where I lay my head is home" :D
    Posts
    2,644
    you are welcome.
    thanks for the feedback.
    pls mark the thread as solved for future references...
    PLS DO NOT PM; OPEN A THREAD INSTEAD!!!

    1) Posting Code
    [CODE]PasteYourCodeHere[/CODE]
    (or paste your code, select it, click # button)

    2) Uploading File(s)
    Go Advanced / Attachments - Manage Attachments / Add Files / Select Files / Select the file(s) (multiple files can be selected while holding Ctrl key) / Upload Files / Done
    Replace company specific / sensitive / confidential data. Include so many rows and sheets etc in the uploaded workbook to enable the helpers visualize the data and table structure. Helpers do not need the entire workbook.

    3) Testing the Codes
    always back up your files before testing the codes.

    4) Marking the Thread as Solved
    from Thread Tools (on the top right corner, above the first message)

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •