職場で「エクセルのファイルで書式を変えようとすると、今まで見たことがないエラーメッセージが出て変更できない。調べて欲しい。」と言われたので、そのファイルを送って貰って調べてみた。
ファイルサイズが約1MByteと少々大きめのファイルだったが、特に大きすぎるというわけでも無い。
早速開いてセルの書式設定をしようとするが、最初の内はどのセルでやってもエラーにならない。
手当たり次第に試しても埒が明かないので、数式が設定されているセルを中心に試したところ、特定のセルで現象が発生した。
エラーメッセージは「セルの書式が多すぎるため、書式が追加できません。」というもの。
早速Googleで探してみると約3000件弱がヒット。その内の幾つかのページを見ると原因と対策が出ていたので、それを試したところ取り合えず解決した。
マイクロソフトのサポートページ「Excel でエラー メッセージ “表示形式を追加できません” が表示される」によるとセルに設定した書式の組み合わせが4000を超えた場合に発生するらしい。
同ページに出ていた対策で解決するのかもしれないが、なにせ他人が業務で使用しているファイルなので、勝手にセルの書式を変更(単純化等)は出来ない。
しかも問題のセルの書式変更をしようとしても上記エラーが出るので変更そのものが出来ない。
で、ここを参考にツールバーから「書式」→「スタイル」を選んで、使っていなさそうなスタイルの削除を試してみた。
そうしたところ、プルダウンメニューで出てくるスタイル名の中に文字化けしたものがあったので、それを削除したところ問題が解決してしまった。
どうも問題のファイルの中に壊れたスタイルがあったらしく、それを削除したところ正常に戻ったものと思われる。
ファイルサイズも約30KByte程減少したので設定してあったスタイルがなんらかの原因で壊れていたらしい。
できるExcel 2010 Windows 7/Vista/XP対応
小舘由典 できるシリーズ編集部
by G-Tools
4 comments to this article
千歳
on 2010 年 2 月 15 日 at 12:47 PM -
Excelって、妙なところに変な制限があるから、業務で使ってると時々ハマりますね。
それにしても、Excel2003のマクロの遅さに閉口…。
tan
on 2010 年 2 月 15 日 at 5:16 PM -
>千歳さん
ですねー、今回の件を調べて初めてこんな制限があることを知りました。
マクロの遅さはPCのパワーでねじ伏せろとのありがたい教えでは?(笑)
マクロが遅いからCPUを買い換えるとか、メモリを増やすとか・・・・・
任
on 2011 年 2 月 24 日 at 2:06 PM -
私も同様の目に会いました。
確かにシート数が多いのですが、1シート残して他シートを削除しても、書式は残ってしまうので解決にはなりません。
また、「書式」→「スタイル」を見ると、やはりスタイル名の中に文字化けしたものが仰山ありました。きっと、EXCELが要りもしない書式をやたら作って、使わなくなっても消去しないので、ゴミが溜まっているという感じでしょうか。
私の場合、該当するブックも沢山あり、不要スタイルを一つづつ削除するのは気の遠くなることだし、削除できないスタイルもありました。そこで、新しいブックにシートの内容を全セル複写・貼り付けで対応(「シートの移動またはコピー」は隠れ書式までコピーしちゃうので駄目)しました。でも、これだと、ページ設定内容の複写もあり、手作業ではやりきれないため、新ブックへの複写用VBAマクロを作りました。
tan
on 2011 年 2 月 24 日 at 10:58 PM -
任 さん
コメントありがとうございます。
気付くのが早ければ対処も楽なのでしょうが、この手の障害が出るのはデータが増えてからというのが多いので、対処するのが大変ですよね。
私の場合はたまたまスタイルが少ない時に発覚したので対処も楽でしたが、任さんの場合は大変そうですね。
シート単位での全セルコピーで解決するならやってみる価値はありそうですが、それもシート数次第でしょうね。
任さんのようにVBAマクロを組むのが正解のような気がします。