[25473]  エクセルについて
投稿者:GGH さん   2003-04-22 17:34:38
エクセルの操作について質問です。
1.例えば、範囲B1〜B20までの背景パターン全てを範囲内の一つのセル(B3)の値によって一括制御したいのですが、標準の条件書式等では出来ません。

2.同様に、範囲B1〜B20内の一つのセル(B3)の値によって、B1の書式を制御したいのですが、

これらの方法を教えて頂きたいと思います。
いろいろ攻略本を読んだのですが、このような例が記載されてなく、ここに質問致します。
宜しくお願いいたします。
  1. MUSICO さん   2003-04-22 22:10:23
    …ソフトOKだから、こういう質問もアリなのね。
    標準の条件付き書式で、たとえば「=if($B$3=1,true,false)」なんかじゃだめなのかな?
  2. GGH さん   2003-04-22 23:23:37
    MUSICOさん、有難う御座います。勉強不足を痛感致します。
    ところで、質問を間違えました。
    1.例えば、範囲B1〜X1までの背景パターン全てを範囲内の一つのセル(D1)の値によって一括制御したいのですが、標準の条件書式等では出来ません。

    2.同様に、範囲B1〜X1内の一つのセル(D1)の値によって、C1の書式を制御したいのですが、

    これが正しい質問です。申し訳御座いません。

  3. MUSICO さん   2003-04-22 23:39:13
    縦でも横でも同じだと思いますが?
  4. GGH さん   2003-04-22 23:57:13
    その方法ですと、範囲B1〜X1までの全てのセルに1つずつ条件書式を埋め込むのですか?
  5. DEN_EI@管理人 さん   2003-04-23 01:09:57
    >1.例えば、範囲B1〜X1までの背景パターン全てを範囲内の一つのセル(D1)の値によって一括制御したいのですが、標準の条件書式等では出来ません。
    >2.同様に、範囲B1〜X1内の一つのセル(D1)の値によって、C1の書式を制御したいのですが、

    エクセルのセル毎の条件書式(と言うより「=参照式」)では、値しか設定できません。
    よって、セル書式などはVBA(マクロ)によって対応するしかありません。
    詳しくはWorksheets.Rangeオブジェクトあたりの内容を
    ExcelVisualBasicヘルプで調べてみてください。
    #ついでにChange/Calculateイベントあたりも見ておけば良いかも。
  6. GGH さん   2003-04-23 01:29:59
    管理人さん、有難う御座いました。
    VBAでしかできないのですね。もっと勉強します。
  7. taka さん   2003-04-23 07:04:33
    >1.例えば、範囲B1〜X1までの背景パターン全てを範囲内の一つのセル(D1)の値によって一括制御したいのですが、標準の条件書式等では出来ません。

    条件付書式で”数式が”を選択し、条件を例えば、=$D$1>100として設定し
    書式を制御したい範囲にコピペすればいいのでは?
  8. かねやす さん   2003-04-23 10:06:18
    VBAでWorksheet_Change()イベントに記述すればいいんでは。
    Target.Column と Target.Row が条件内だったら、Rangeで一斉変換するとか。
  9. かねやす さん   2003-04-23 12:36:41
    ↑を実験してみましたがWorksheet_Changeでは背面色の変更ではイベントは発生しない
    模様。Worksheet_SelectionChangeで位置を取得しておいてPublic変数で変化を見て
    やっていくしかないですかね。
  10. DEN_EI@管理人 さん   2003-04-23 14:51:01
    あ、条件付書式を勘違いしていましたね(大汗)。大変失礼しましたm(_ _)m。
    であればMUSICOさんやtakaさんが既に書かれているように
    条件付書式の条件を数式にすれば出来ますね(値の方では自セルが対象のため)。
  11. GGH さん   2003-04-23 17:26:05
    MUSICOさん、takaさん、管理人さん、かねやすさん、いろいろ有り難うございます。
    これから、もっと勉強してトライしてみます。