Deleting unused Excel custom styles in bulk. How?












1















I've inherited someone's Excel workbook with multiple worksheets, and have discovered that the problems I'm encountering are due to an abundance of custom styles.



This Microsoft hep file macro counted over 5000+ styles



Sub styles()
For i = 1 To ActiveWorkbook.styles.Count
Worksheets(1).Cells(i, 1) = ActiveWorkbook.styles(i).Name
Next
End Sub


I'm trying to remove all the custom (strange) styles, but keep the default/standard styles.



I've searched for how to do a bulk remove, and keep finding a similar style of macro in the forums. I've chosen the one below but unfortunately the line mpStyle.Delete causes an error:



Sub ClrStyles()
Dim mpStyle As Style
For Each mpStyle In ActiveWorkbook.Styles
If Not mpStyle.BuiltIn Then
mpStyle.Delete
End If
Next mpStyle
End Sub


The error it returns is: Delete method of style class failed.



I'm working in Excel 2010, and the Style class does have a delete function, so I'm confused why it doesn't work.



Any ideas?










share|improve this question



























    1















    I've inherited someone's Excel workbook with multiple worksheets, and have discovered that the problems I'm encountering are due to an abundance of custom styles.



    This Microsoft hep file macro counted over 5000+ styles



    Sub styles()
    For i = 1 To ActiveWorkbook.styles.Count
    Worksheets(1).Cells(i, 1) = ActiveWorkbook.styles(i).Name
    Next
    End Sub


    I'm trying to remove all the custom (strange) styles, but keep the default/standard styles.



    I've searched for how to do a bulk remove, and keep finding a similar style of macro in the forums. I've chosen the one below but unfortunately the line mpStyle.Delete causes an error:



    Sub ClrStyles()
    Dim mpStyle As Style
    For Each mpStyle In ActiveWorkbook.Styles
    If Not mpStyle.BuiltIn Then
    mpStyle.Delete
    End If
    Next mpStyle
    End Sub


    The error it returns is: Delete method of style class failed.



    I'm working in Excel 2010, and the Style class does have a delete function, so I'm confused why it doesn't work.



    Any ideas?










    share|improve this question

























      1












      1








      1








      I've inherited someone's Excel workbook with multiple worksheets, and have discovered that the problems I'm encountering are due to an abundance of custom styles.



      This Microsoft hep file macro counted over 5000+ styles



      Sub styles()
      For i = 1 To ActiveWorkbook.styles.Count
      Worksheets(1).Cells(i, 1) = ActiveWorkbook.styles(i).Name
      Next
      End Sub


      I'm trying to remove all the custom (strange) styles, but keep the default/standard styles.



      I've searched for how to do a bulk remove, and keep finding a similar style of macro in the forums. I've chosen the one below but unfortunately the line mpStyle.Delete causes an error:



      Sub ClrStyles()
      Dim mpStyle As Style
      For Each mpStyle In ActiveWorkbook.Styles
      If Not mpStyle.BuiltIn Then
      mpStyle.Delete
      End If
      Next mpStyle
      End Sub


      The error it returns is: Delete method of style class failed.



      I'm working in Excel 2010, and the Style class does have a delete function, so I'm confused why it doesn't work.



      Any ideas?










      share|improve this question














      I've inherited someone's Excel workbook with multiple worksheets, and have discovered that the problems I'm encountering are due to an abundance of custom styles.



      This Microsoft hep file macro counted over 5000+ styles



      Sub styles()
      For i = 1 To ActiveWorkbook.styles.Count
      Worksheets(1).Cells(i, 1) = ActiveWorkbook.styles(i).Name
      Next
      End Sub


      I'm trying to remove all the custom (strange) styles, but keep the default/standard styles.



      I've searched for how to do a bulk remove, and keep finding a similar style of macro in the forums. I've chosen the one below but unfortunately the line mpStyle.Delete causes an error:



      Sub ClrStyles()
      Dim mpStyle As Style
      For Each mpStyle In ActiveWorkbook.Styles
      If Not mpStyle.BuiltIn Then
      mpStyle.Delete
      End If
      Next mpStyle
      End Sub


      The error it returns is: Delete method of style class failed.



      I'm working in Excel 2010, and the Style class does have a delete function, so I'm confused why it doesn't work.



      Any ideas?







      microsoft-excel vba macros styles






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked Jul 21 '17 at 9:54









      RocketGoalRocketGoal

      888102953




      888102953






















          1 Answer
          1






          active

          oldest

          votes


















          1














          I used the actual name of the error and managed to find this post in StackOverflow:Remove the unknown format in Cell styles



          The additional line mpStyle.Locked = FALSE solved my issue.



          The full code is now:



          Sub ClrStyles()
          Dim mpStyle As Style
          For Each mpStyle In ActiveWorkbook.Styles
          If Not mpStyle.BuiltIn Then
          mpStyle.Locked = FALSE
          mpStyle.Delete
          End If
          Next mpStyle
          End Sub


          Hope this helps others.
          Mike.






          share|improve this answer























            Your Answer








            StackExchange.ready(function() {
            var channelOptions = {
            tags: "".split(" "),
            id: "3"
            };
            initTagRenderer("".split(" "), "".split(" "), channelOptions);

            StackExchange.using("externalEditor", function() {
            // Have to fire editor after snippets, if snippets enabled
            if (StackExchange.settings.snippets.snippetsEnabled) {
            StackExchange.using("snippets", function() {
            createEditor();
            });
            }
            else {
            createEditor();
            }
            });

            function createEditor() {
            StackExchange.prepareEditor({
            heartbeatType: 'answer',
            autoActivateHeartbeat: false,
            convertImagesToLinks: true,
            noModals: true,
            showLowRepImageUploadWarning: true,
            reputationToPostImages: 10,
            bindNavPrevention: true,
            postfix: "",
            imageUploader: {
            brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
            contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
            allowUrls: true
            },
            onDemand: true,
            discardSelector: ".discard-answer"
            ,immediatelyShowMarkdownHelp:true
            });


            }
            });














            draft saved

            draft discarded


















            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fsuperuser.com%2fquestions%2f1232028%2fdeleting-unused-excel-custom-styles-in-bulk-how%23new-answer', 'question_page');
            }
            );

            Post as a guest















            Required, but never shown

























            1 Answer
            1






            active

            oldest

            votes








            1 Answer
            1






            active

            oldest

            votes









            active

            oldest

            votes






            active

            oldest

            votes









            1














            I used the actual name of the error and managed to find this post in StackOverflow:Remove the unknown format in Cell styles



            The additional line mpStyle.Locked = FALSE solved my issue.



            The full code is now:



            Sub ClrStyles()
            Dim mpStyle As Style
            For Each mpStyle In ActiveWorkbook.Styles
            If Not mpStyle.BuiltIn Then
            mpStyle.Locked = FALSE
            mpStyle.Delete
            End If
            Next mpStyle
            End Sub


            Hope this helps others.
            Mike.






            share|improve this answer




























              1














              I used the actual name of the error and managed to find this post in StackOverflow:Remove the unknown format in Cell styles



              The additional line mpStyle.Locked = FALSE solved my issue.



              The full code is now:



              Sub ClrStyles()
              Dim mpStyle As Style
              For Each mpStyle In ActiveWorkbook.Styles
              If Not mpStyle.BuiltIn Then
              mpStyle.Locked = FALSE
              mpStyle.Delete
              End If
              Next mpStyle
              End Sub


              Hope this helps others.
              Mike.






              share|improve this answer


























                1












                1








                1







                I used the actual name of the error and managed to find this post in StackOverflow:Remove the unknown format in Cell styles



                The additional line mpStyle.Locked = FALSE solved my issue.



                The full code is now:



                Sub ClrStyles()
                Dim mpStyle As Style
                For Each mpStyle In ActiveWorkbook.Styles
                If Not mpStyle.BuiltIn Then
                mpStyle.Locked = FALSE
                mpStyle.Delete
                End If
                Next mpStyle
                End Sub


                Hope this helps others.
                Mike.






                share|improve this answer













                I used the actual name of the error and managed to find this post in StackOverflow:Remove the unknown format in Cell styles



                The additional line mpStyle.Locked = FALSE solved my issue.



                The full code is now:



                Sub ClrStyles()
                Dim mpStyle As Style
                For Each mpStyle In ActiveWorkbook.Styles
                If Not mpStyle.BuiltIn Then
                mpStyle.Locked = FALSE
                mpStyle.Delete
                End If
                Next mpStyle
                End Sub


                Hope this helps others.
                Mike.







                share|improve this answer












                share|improve this answer



                share|improve this answer










                answered Jul 21 '17 at 10:02









                RocketGoalRocketGoal

                888102953




                888102953






























                    draft saved

                    draft discarded




















































                    Thanks for contributing an answer to Super User!


                    • Please be sure to answer the question. Provide details and share your research!

                    But avoid



                    • Asking for help, clarification, or responding to other answers.

                    • Making statements based on opinion; back them up with references or personal experience.


                    To learn more, see our tips on writing great answers.




                    draft saved


                    draft discarded














                    StackExchange.ready(
                    function () {
                    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fsuperuser.com%2fquestions%2f1232028%2fdeleting-unused-excel-custom-styles-in-bulk-how%23new-answer', 'question_page');
                    }
                    );

                    Post as a guest















                    Required, but never shown





















































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown

































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown







                    Popular posts from this blog

                    How do I know what Microsoft account the skydrive app is syncing to?

                    When does type information flow backwards in C++?

                    Grease: Live!