• ベストアンサー

エクセルでのセルの色づけ方法

教えてください。 エクセルで、8000行、15列程度の表があります。 例えば、A2に、Aと入力すると、A2とA1の両セルが水色 Bと入力すると、A2とA1の両セルが黄 Cと入力すると、A2とA1の両セルが赤 他にも、例えば C4に、Bと入力すると、C4とC3の両セルが赤 Bと入力すると、C4とC3の両セルが黄 Cと入力すると、C4とC3の両セルが赤   などのように、A=水色   B=黄色   C=赤になるように 条件付き書式を設定し、その書式を他のセルへコピーして、 1000行位までは、ちゃんと保存できたのですが、8000行程度まで、コピーして、保存すると、『保存できません』と表示されてしまい、1000行以上は条件付き書式のコピーをしても、コピーはできますが、保存できないため、大変困っています。。。もしかして、条件付き書式には、書式のコピーができる制限があるのでしょうか?あとは、VBなどで対応 するしかないのでしょうか。VBもまったく分かりません。。 是非、よろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.2

>VBもまったく分かりません。。 とのことですが、簡単ですから以下に書いた通りに操作してみてください 入力するシートの「タブ名右クリック」→「コードの表示」で開く画面に以下のマクロを貼り付けます。この画面(VBE)を閉じて、シートにA,B,Cのいずれかを入力してみてください。(半角、全角どちらでもOK) すると入力したセルと、その上のセルの色が変わります ただし1行目に入力したときは、入力したセルのみの色を変えています Private Sub Worksheet_Change(ByVal Target As Range) Dim cIdx  With Target    Select Case StrConv(.Value, vbNarrow)      Case Is = "A"        cIdx = 8      Case Is = "B"        cIdx = 6      Case Is = "C"        cIdx = 3      Case Else        cIdx = xlNone    End Select    .Interior.ColorIndex = cIdx    If .Row > 1 Then      .Offset(-1, 0).Interior.ColorIndex = cIdx    End If  End With End Sub

yuritanaka
質問者

お礼

早々の御返事ありがとうございます。 早速、ご教授いただいた通り試してみました。 希望どおり出来ました! 大変感謝しております。誠に、ありがとうございました。 また、なにかありましたら、是非よろしくお願いいたします。

その他の回答 (2)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.3

条件付き書式も、値の変化に、即座に反応するところから、メモリに展開した、セルごとの(セル属性なのでセルごと)情報を記録して、保持していることは間違いない。すると設定セルや種類が増えると、条件付書式で使える、メモリのエリア(許容範囲)で、制限をオバーする場合は、動かなくなったりすると思う。 条件付き書式の情報を保持する許容メモリエリアが固定なのか、他と取り合いする部分があるのか、全体として上限があるのかなど、エクセル内部情報であるため、(発表されているかも知れないが、不勉強で)小生にはわからない。 知りえるのは#1でご紹介のWEB程度です。 条件とそれを設定されたセル(セル範囲)の関連づけはどのようにしているのかも知りたいが、不知. たたし、nセルに条件設定時使用メモリ=1セルに条件設定メモリxn(単純比例か、それに近い)かどうかは、これも内部の仕組みを知らないと判らない。関数式などでは、比例にならないように、処理スピードを上げるため、同じ型の式などの設定は、比例しないように関数式の情報のメモリ保持を考えていると思う(関数の利用はエクセルではメインの機能だから)。 ーー 提案 1 条件付書式で、1セルに設定して、そのセルの書式のコピー方式でなく、固まった範囲で同条件のセルは、まずそれらのセル全体を範囲指定して、条件付書式を設定すると、少しでもメモリの使用を軽減できないか、いつも小生は夢想している。仕事で使ってないので、1000を越える、多数セル条件設定例の例にぶつからずテストできてない。同じならMSとして改良の余地アリと思う。 2007などではこの辺(条件付書式)が拡充されたので、この点も改良されたかもしれないが、これも不知。 (たとえると、A1=赤、A2=赤、A3=赤の時、3単位で保持するのでなく、A1:A3=赤と1単位で保持するようなたとえ) そういう工夫があっても、セルが増えると、いつかは制限メモリを越えることにはなる。 ーー 提案 2 確たる根拠は無いが、できるならエクセル2007に移行して、やってみる手はあるのではないですか。 ーー  以上生半可な知識で言っているので、参考程度によろしく。

yuritanaka
質問者

お礼

御返事ありがとうございます。 また、ご提案いただきありがとうございました。 参考にさせていただきます。

  • Cupper
  • ベストアンサー率32% (2123/6444)
回答No.1

>もしかして、条件付き書式には、書式のコピーができる制限があるのでしょうか? お察しの通りです。 マイクロソフト サポートオンライン / Excel でエラー メッセージ "表示形式を追加できません" が表示される  http://support.microsoft.com/kb/213904/ja と同じ現象と思われます。 セルの組み合わせが約4000を超えるとこの状態になります。 いわば Excelの制限です。 罫線を省略したり、使用するフォントを一つにしたり、セルのパターンを無しにすることで回避できます。 ・・・セルに色をつけているようですので、別のブックを作成してそちらに続きを作成するようにしましょう。

yuritanaka
質問者

お礼

早々のご返事ありがとうございます。 また、マイクロソフトのサイト情報ありがとうございました。 約4000を超えると保存できないんですね・・・ 大変参考になりました。

関連するQ&A