show log include yunabe

勉強したことの復習を兼ねて、IT関係(主にネットワーク/サーバ)についてまとめてます。

エクセルにおいて"セルの書式が多すぎるため、書式を追加できません"と表示される時の対処

概要

エクセルを使っているとたまに"セルの書式が多すぎるため、書式を追加できません"と表示されセルにコピーして挿入ができないことなどが起こります。 調べてみるとどうやらセルの書式パターンが悪さをしており、これを消すと回復するらしい。
https://support.microsoft.com/ja-jp/help/213904/you-receive-a-too-many-different-cell-formats-error-message-in-excel
解決方法は二種類あるようです。

方法① サードパーティソフトで削除

スタイルを削除するためにマイクロソフトのホームページではサードパーティソフトでクリーンする方法が記載されています。
・XLStyles ツール (.NET4.0 version of the XLStylesTool is now available | XLGeek's space
上記を実行してエクセルをクリーン状態にする

方法② マクロで削除

マクロで消す方法としては下記の記事があり助かりました、ありがとうございます。   https://gist.github.com/YoshihitoAso/311b0a1d40174e1bfdae

Sub delete_name_and_style()

    On Error Resume Next

'名前定義を全削除(名前を関数その他に有効活用している場合はここは削除)

    Dim N As Name
    For Each N In ActiveWorkbook.Names
        N.Delete
    Next

'書式(スタイル)定義を全削除

    Dim M()

    J = ActiveWorkbook.Styles.Count
    ReDim M(J)
    For i = 1 To J
        M(i) = ActiveWorkbook.Styles(i).Name
    Next
    For i = 1 To J
        If InStr("Hyperlink,Normal,Followed Hyperlink", _
                    M(i)) = 0 Then
            ActiveWorkbook.Styles(M(i)).Delete
        End If
    Next

End Sub