
こんにちは。
Excel2007を使用しています。
作成した資料は、Excel2003など書式の組み合わせ上限がある
ソフトを使用する人にも共有するため、
書式の上限(約4000)に達していないかのチェックをしたいと
考えています。
Excel2003までであれば下記方法でできるようなのですが、
私の手元にあるOfficeは2007です。
下記以外に、書式数をカウントする方法はないでしょうか?
http://okwave.jp/qa3768586.html
どうぞよろしくお願いします。
No.3ベストアンサー
- 回答日時:
補足と訂正
Excel 2007 の書式の上限は、64,000 個だそうです。
http://office.microsoft.com/ja-jp/excel/HA100778 …
「アプリケーションとして、ブックにデータをレコードして、カウントしている部分はあるかと思いますが、それは、VBAでは分からないと思います。」
前述のVBAで取れないというのは、私の間違いでした。しかし、Biffファイルをバイナリでとって、そこから必要な箇所を抜き出すということで、VBAでも可能のようです。File Format も公開されていますから、そこからバイナリで勘定することが可能のようです。ただ、私の趣旨とは違いますので、必要ならインターネット検索でお探しください。
File Format
http://www.microsoft.com/interop/docs/OfficeBina …
以下は、直接の回答の趣旨とは違いますが、かなり昔に書いた私のログです。一部、前述と重複してしまいます。私の考え方は、以下の説明でお分かりいただけるように思うからです。
マイクロソフトのサポートにある、4,000個の書式の意味ですが、シートに対する累積的な書式などの組合せの数です。
ひとつのセルと別のセルが、まったく同一の書式の組合せなら、同じ書式ですが、その書式のひとつが違えば、別の書式になってしまいます。
例えば、マイクロソフトのサポートの文章を参考にして、計算してみます。
括弧内は、その選択の「それぞれの書式設定の種類」です。
1. 文字設定 (フォント、フォント サイズ、斜体、太字、下線など) (3)
-デフォルトは除きます
2. 罫線 (位置、太さ、色など) (3)
3. セル パターン (2)
4. 数値の表示形式 (3)
(5. 配置 (2)) -デフォルト
(6. セルの保護 (1)) -デフォルト
7. ユーザー書式 (2)
デフォルトは除いて、「それぞれの書式設定の種類」の中で、ユーザー書式以外は、重複を許して選ぶことが出来ます。
COMBIN というのは、COMBINATION(組合せ)のことです。
n個の中から、r個を重複を許して取り出す組合せは、COMBIN(n+r-1,r) で、NO.7以外は、以下のような式になります。
NO.1 =COMBIN (5,3)
NO.2 =COMBIN (5,3)
NO.3 =COMBIN (3,2)
NO.4 =COMBIN (5,2)
NO.7 =COMBIN (2,1)
-----------------
=PRODUCT(NO.1 : NO.7)
PRODUCT というのは、NO.1 × NO.2 ×……ということです。
とすると、6,000個 の組合せになります。つまり、代表的な書式でも、6,000種類もあって、そこから抽出するわけです。確かに、4,000個までが上限ですと、ユーザー選択に制限が加えられることは間違いないようです。(書式の種類を積み上げで、その数を出すということはできないことはお分かりになると思います。)
つまり、これらのそれぞれの書式設定を、使用しているセルの範囲に対して、別々に独自に使用することを避けて、なるべく統一した書式にしてあげることで、「セルの書式が多すぎる」という問題を避けることが出来るわけです。
だから、具体的に、デフォルトなり、元の設定(書式-スタイル)自体で、例えば、桁区切りなどに設定してあげれば、その数を減らせることになるわけです。
なお、この計算は、Excel 2007には当てはまらないことではあるのですが、いくら、上限が64,000になったとしても、色の選択肢が増えましたから、使い方によっては、すぐに上限に届いてしまいます。やはり、上限までにいくつあるかというよりも、使いこなしの問題には変わらないように思っています。
No.2
- 回答日時:
こんにちは。
前回、回答した者として、書かせていただきます。
まず、Excel2007 とExcel2003 とは、そのメモリの分散や回避に対する使い方が違います。
上限というよりは、本質的には、それは表示に使われるメモリの割り振りだと思います。それは、Excel2003までのものです。私は、VBAで主に回答している者ですが、一旦、上限まで昇って、その差を残り分だという考え方で、VBAのコードを書いたところで、それは本質的に意味がありません。コードが間違いだとは言っていませんが、実際とは違います。
本来は、「表示形式を追加できません」のエラーメッセージに対するものです。
「セルを、それぞれ異なる色で塗り潰す」「フォントを太字にする」「罫線を引く」から、それぞれの数だけということではないのです。単独で、それぞれ使えば、Excel2003まででは、確かに数は出せます。
しかし、私は、前回の質問では詳しく回答していませんが、その書式等の設定の数え方は、単純ではなく、複合的に絡み合うので、思った以上に、その数を使ってしまう旨を書きました。つまり、色塗りと罫線があるとすれば、その色塗りと罫線の組み合わせを一つとします。同じ色塗りでも、それが二つも三つにもなるわけです。
ですから、前回の掲示されたVBAでは、現在の書式設定から先の積み上げで、それぞれは数えることは可能でも、実際のユーザーによる設定は、組み合わせですから、予測はしがたいものだと思うのです。まず、使い方の要領を理解することです。
私は、下位バージョンでも、本質的に、VBAでは無理だと思います。ワークシートの問題は、ワークシートの問題です。私の回答は、マイクロソフト側は、常識的な使用法に対して、エラーはでないという、根底で発言していますし、また、その程度のソフトウェアの信頼性がなくて使えるものではないように考えています。それを、性能の上限までぎりぎりで使いたいという使用法やコンセプトは、あまり深入りはしたくないので、詳しくは書きませんでした。
ここの、ご質問者さんの中には、時々、そういう方はいますから、私は、その質問自体を否定するわけではありません。
そのメッセージの問題自体の解決方法は、マイクロソフトで出ているわけですから、マイクロソフト側のサポートを、お読みください。
http://support.microsoft.com/kb/213904/ja
Excel でエラー メッセージ "表示形式を追加できません" が表示される
[ほとんどの場合、単一ブックに対する書式の組み合わせの上限は約 4,000 で十分です。この問題は、異なる書式設定を使用する多数のワークシートがブックに含まれているか、多数のセルすべてに異なる書式が設定されてる場合に生じる傾向があります]
(私の解釈としては、その書式等の設定は、まとめてすることで、後付けで、個々の書式等の設定をしないことです。どうも、Excelは、同じ設定でも、罫線などは、なぜか、後付けすると別に数えるようです。)
確かに、Excelの実質的な上限というのは、ここかしこにあります。セルの文字数、ワークシートの数など、論理的限界のほぼ10分の1ではないか、と推測する上限に出会うことがあります。Excel2003までは、それを、それぞれに振り分けして、どうやら分散・回避しないようです。それは、Excel 2007とは考え方が違います。
しかしながら、その上限を知るということよりも、それにまつわる部分は、ユーザーの使用方法に問題があるように思います。
なお、おそらく、アプリケーションとして、ブックにデータをレコードして、カウントしている部分はあるかと思いますが、それは、VBAでは分からないと思います。
No.1
- 回答日時:
2007で動作確認しましたか?
自分でVBAを勉強しましたか?
以上
この回答への補足
私の投稿にも説明不足がありましたので、
こちらで補足させていただきます。
2007で動作確認してできませんでしたので投稿しています。
また、必ずしもVBAで解決しようとはしていませんが、
検索して見つかった近い資料はVBAでした。
(貼りつけさせていただいたURLのポイントが付与されている
投稿を参照ください)
Excelの単純な機能として探していました
VBAでしか解決できないのであれば、例えば、もし下記記載のどこを
どのように変更すれば実現可能なのかを知りたいです。
ただし、エラーを検出してハンドリング(?)する仕組み
のようなのでエラーが出ない(?)Excel2007ではどのように
考えればよいか?からが不明です。
http://okwave.jp/qa3768586.html
Excel2007の何らかの機能で書式数のカウントを
できるのであればその方法を知りたいです。
(自身でソフトのヘルプやGoogleで探したところ
見つかりませんでした)
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(Microsoft Office) Wordを変換してExcelに挿入 2 2022/07/04 23:59
- Visual Basic(VBA) VBA初心者です。 VBAで行単位で条件付き書式の色をカウントしたいです。 大量のデータがあるExc 3 2022/06/08 10:02
- Visual Basic(VBA) VBA初心者です。 VBAで行単位で条件付き書式の色をカウントしたいです。 大量のデータがあるExc 3 2022/06/08 10:00
- Excel(エクセル) 送られてきたxlsxが編集できない 8 2022/09/22 14:05
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/06/04 09:39
- Excel(エクセル) Excelで、Excelの小テストで、中央揃えとかありますが、右クリックで、セルの書式設定から中央ぞ 3 2022/12/29 12:43
- Excel(エクセル) Excel この式はどんな意味でしょうか。。。 4 2023/01/14 22:30
- Excel(エクセル) A、B、C・・・AA、ABと連番でふりたい、調べても式の意味がわからずパニックになってしまう 1 2023/01/23 19:17
- Excel(エクセル) 【Excelの集計について質問です。】 7 2022/12/03 16:51
- Excel(エクセル) excel関数について 3 2022/06/06 21:58
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・一番好きなみそ汁の具材は?
- ・泣きながら食べたご飯の思い出
- ・「これはヤバかったな」という遅刻エピソード
- ・初めて自分の家と他人の家が違う、と意識した時
- ・いちばん失敗した人決定戦
- ・思い出すきっかけは 音楽?におい?景色?
- ・あなたなりのストレス発散方法を教えてください!
- ・もし10億円当たったら何に使いますか?
- ・何回やってもうまくいかないことは?
- ・今年はじめたいことは?
- ・あなたの人生で一番ピンチに陥った瞬間は?
- ・初めて見た映画を教えてください!
- ・今の日本に期待することはなんですか?
- ・集中するためにやっていること
- ・テレビやラジオに出たことがある人、いますか?
- ・【お題】斜め上を行くスキー場にありがちなこと
- ・人生でいちばんスベッた瞬間
- ・コーピングについて教えてください
- ・あなたの「プチ贅沢」はなんですか?
- ・コンビニでおにぎりを買うときのスタメンはどの具?
- ・おすすめの美術館・博物館、教えてください!
- ・【お題】大変な警告
- ・洋服何着持ってますか?
- ・みんなの【マイ・ベスト積読2024】を教えてください。
- ・「これいらなくない?」という慣習、教えてください
- ・今から楽しみな予定はありますか?
- ・AIツールの活用方法を教えて
- ・最強の防寒、あったか術を教えてください!
- ・歳とったな〜〜と思ったことは?
- ・モテ期を経験した方いらっしゃいますか?
- ・好きな人を振り向かせるためにしたこと
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで文字を含む式に、カ...
-
エクセルで文字が白くなる
-
Excelで、空白を表示したい
-
EXCELの散布図で日付が1900年に...
-
エクセルで、時間 0:00を表示...
-
エクセル条件付書式で指定の時...
-
Excelのテーブルでセルの書式設...
-
アクセスで#エラーを表示させ...
-
強調の・
-
Googleスプレッドシートで特定...
-
エクセルで日数計算
-
today関数で日付を全角文字で表...
-
Excelのセルでの配置です。
-
エクセル(2003) 「1900/1/0...
-
エクセル/グラフのデータテー...
-
エクセルで上付き,下付き文字...
-
Excel 書式の一致を調べる関数...
-
小数点以下の数字だけ小さいフ...
-
Access ¥マークを表示しない
-
0を入力したら文字色が消えてし...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで文字を含む式に、カ...
-
エクセルで文字が白くなる
-
Excelで、空白を表示したい
-
エクセルで、時間 0:00を表示...
-
エクセル条件付書式で指定の時...
-
エクセルで上付き,下付き文字...
-
EXCELの散布図で日付が1900年に...
-
アクセスで#エラーを表示させ...
-
Excelのテーブルでセルの書式設...
-
小数点以下の数字だけ小さいフ...
-
INDESIGNで空改行などのマーク...
-
Excelのセルでの配置です。
-
excelの軸
-
Excelで勝手に小数点以下が増える
-
エクセル マイナスは黒文字で、...
-
エクセルで「0(ゼロ)」を印...
-
today関数で日付を全角文字で表...
-
エクセルの書式設定が解除でき...
-
Access ¥マークを表示しない
-
エクセルでゼロ「0」が「-」に表示
おすすめ情報