• ベストアンサー

エクセルVBAボタンで条件色指定

fumufumu_2006の回答

  • ベストアンサー
回答No.1

こんなのではどうでしょう? 訪問者,数量,場所が各々A,B,C列だとします。 A,B,CボタンをCommandButton1,CommandButton2,CommandButton3とします。 訪問者と数量の色を変えていますが、場所の色も変える場合は、Resize(1, 2)をResize(1, 3)にしてください。 チェックの方法は、カンマで囲まれた文字があるかどうかでチェックしています。 Private Sub CommandButton1_Click() checkData "東京,大阪", vbBlue End Sub Private Sub CommandButton2_Click() checkData "名古屋,札幌", vbYellow End Sub Private Sub CommandButton3_Click() checkData "九州,四国", vbRed End Sub Private Sub checkData(place As String, color As Long) Dim r As Long For r = 2 To Cells(Rows.Count, 3).End(xlUp).Row If InStr("," & place & ",", "," & Cells(r, 3) & ",") > 0 Then Cells(r, 1).Resize(1, 2).Font.color = color Else Cells(r, 1).Resize(1, 2).Font.color = vbBlack '対象外の色を黒にする場合 End If Next End Sub

関連するQ&A

  • エクセルの条件付き書式について

    A1セルに「100」が入力された場合、B1セルの色を赤に、同様にして200:青、300:黄、400:緑、500:赤、600:青、700:黄、800:緑という風にB1セルの色を変えたいと思います。 条件付き書式は3つまでしかないのですが、色のパターンは4種類なので、元の書式と合わせると4パターンです。 条件付書式で、A1セルの値が200又は600ならB1セルの色を青にするにはどうすればよろしいでしょうか。 つたない文章でわかりにくいかと思いますが、よろしくご回答ください。

  • エクセルVBA 条件にあうときセルを塗りつぶすには?

    エクセルVBA 条件にあうときセルを塗りつぶすには? エクセルVBAについて教えてください。 _________A 列 _________B 列_________C列_________D列 -------------------------------------------- 1行| 基準値_________ 5_____________1____________8 2行| りんご____________1_____________9____________0 3行| みかん___________12___________5____________3 4行| ぶどう____________15___________7____________8 5行| バナナ____________3_____________1____________4 上図のようにデータがあります。 (実物は列行共に膨大です。また条件を4つ以上つける予定なので条件付書式は使えません) 各列の基準値に対して、セルの増減が、0以下のときに黄色に、5から8のとき大きくなるときに赤、9以上のときに青にセルの色を塗りつぶしたいです。 どのようにすればよいでしょうか? B列の場合、基準値が5です。 B2のセルの場合、基準値5と1(B2セル)の増減は-4です。 増減が0以下のときは黄色に、増減が5から8のときは赤に、増減が9以上のときに青にするので、このときは黄色に塗りつぶします。 B3のセルの場合、基準値5と12(B3セル)の増減は7です。 増減が5から8のとき赤に塗りつぶすので、このセルは赤に塗りつぶします。 B4のセルの場合、基準値5と15(B4セル)の増減は10です。 増減が9以上のとき青色に塗りつぶすので、このセルは青色に塗りつぶします。 C2のセルの場合は、C列の基準値は1(C1セル)です。 基準値1と9(C2のセル)の増減は8です。 増減が5から8のとき赤に塗りつぶすので、このセルは赤に塗りつぶします。 よろしくお願いいたします。

  • Excel で 条件付き書式について

    Excel 条件付き書式で以下の設定式を教えて下さい。 A1セルに0から50 の数値入力の場合は、B1セルが赤色に A1セルに51から70 の数値入力の場合は、B1セルが黄色に A1セルに71から100 の数値入力の場合は、B1セルが青色に 以上、よろしくお願いいたします。

  • エクセルVBAで

    いつもお世話になります。   A     B     C 1 ああ    XXX    東京 2 ああ    X     大阪 3 いい    XXXX   愛知 4 うう    XX    福岡 5 いい    X     横浜 6 うう          神戸 7 うう    XXX    札幌 これを並び替えたいんですが、セルAの『ああ』なら10、『いい』なら5、『うう』なら3、又セルBの『X』一つにつき5を足した数値の小さい順に並び替えたいのですが、VBA上で可能でしょうか? 宜しくお願いします。

  • VBA教えて下さい

    VBA教えて下さい。 初心者です。 例えば A1セルに数値を入力して コマンドボタンを押すと B1~B20のセルに全てその数値が反映される その反映された数値は赤色にする これだけならば private sub commandbutton_click() range("B1:B20")=range("A1") range("B1:B20").font.color=vbred でいけますが 私がやりたいのは更に A1に数値を入力して コマンドボタンを押すと B1~B20のセルに全てその数値が反映される その反映された数値は赤色にする しかし、B1~B20のセルのどれかのセルが背景色黄色にした場合 黄色背景色より上のセルはA1に入力された数値は無視し 黄色背景色より下のセルはA1に入力された数値を反映する といった内容です。 どうしてもできません コードを書いてもらえるとすごく助かります。 回答お願いします。

  • EXCELの塗りつぶしのボタンを複数セット出来るのでしょうか?

    エクセルでセルの塗りつぶしをするボタンは通常1つ表示されていますが、このボタンを3個セットすることって出来るのでしょうか? 具体的に言うと、1つは赤、2つ目は青、3つ目は黄色です。 宜しくお願いいたします。

  • エクセル条件付き書式(空白でない場合に色を付ける、偶数行・奇数行毎に色を変える)

    エクセルの条件付き書式の設定で、 (1)セルが空白でない場合に色を付ける、 (2)偶数行・奇数行毎に色を変える という2つのことを同時に行う方法があれば 教えていただけないでしょうか? (※空白セルは、色なしに設定) (1)=A1<>"" → 赤 (2)=MOD(ROW(),2)=0 → 青  =MOD(ROW(),2)=1 → 黄 上記の設定の場合、空白セルが青・黄になります。 入力すると赤に変わります。 こちらが行いたいことは、 【空白セルは「色なし」で、入力すると、 奇数行は黄色、偶数行は青になることです。】 例 ABC 1* ←A1は黄 2 * ←B2は青 3 A1とB2以外のセルは色なしとなるようにしたい。 ただし、入力した場合に色がつくようにしたい。 よろしくお願いします。

  • エクセルの関数で ある条件(複数)から参照する方法を教えてください。

    類似の設問があるのかもしれないのですが、急いでいるので質問させてください。<(_ _)> Excel関数で、以下のようになっています。 A1セルに 1 B1セルに 2 C1セルに 3 どのセルも単数回答です。 これは、次の語句を数値化したものです。 赤:1、青:2、黄:3となっています。 そして、A2セルに、条件を満たす文字列を入れたいのです。 A2セル=A1が1の場合は赤、2の場合は青、3の場合は黄 として、 ここでは、「A1は1」なので、"赤"という文字列を入れたいのです。 同様に、 B2セル=B1が1の場合は赤、2の場合は青、3の場合は黄 として、 ここは、「B1は2」なので、"黄"という文字列を入れたいのです。 こういった場合は、IF COUNTIFなどで作成していくのでしょうか? よろしくお願いいたします。<(_ _)>

  • エクセルの数式教えて下さい

    セルAの列にAっていれたらB1とC1が赤く BっていれたらC1とD1が青く CっていれたらB1とE1が黄色くセルに色をつけたいのですが‥ Aの列(A200まで英字を入れたい) A(A1) 赤(B1) 赤(C1)    B(A2)       青(C1)青(D1) C(A3) 黄(B1)           黄(E1) B(A4)       青(C1)青(D1) 教えて下さい

  • エクセル2003の条件付き書式設定についての質問です。

    エクセル2003の条件付き書式設定についての質問です。 A列に人の名前、B列には1,2,3の区分けの番号を入力します。B列の値が1であれば該当するA列のセルを黄色、B列の値が2であれば該当するA列のセルを青とかにする方法を教えて下さい。 B列が1であれば、そのセルを黄色とかにすることは条件付き書式でできますが、B列の値を参照してその結果に基づいてA列に条件付き書式を設定する方法が知りたいということなのですが。