• 締切済み

エクセルで、セルに値が入ったら自動的に行に色をつける方法教えてください!

条件付書式は3つまで可能だったのですが、 4つ以上なのでつかえませんでした。 以下↓のようにしたいのですが、良い方法はないでしょうか? --------------------------------------- O12に△が入ったらその列が、水色 □が入ったらその列が、オレンジ    ○が入ったらその列が、紫    ◎が入ったらその列が、青 というふうにしたいです ------------------------------------ どうかよろしくおねがいします。

みんなの回答

  • Scull
  • ベストアンサー率26% (248/951)
回答No.8

J,K,M,N列の入力に「入力規則」を使って、O列の関数を整理した方が良いように思います。O列の関数が「必要以上に複雑化」していて、条件付き書式の動作に不具合を引き起こしているように見受けられます。 O列のIF関数が競合を起こしているように見えますが。 条件付き書式の設定ではなく、O列の関数が不適正です。

全文を見る
すると、全ての回答が全文表示されます。
  • chiezo2005
  • ベストアンサー率41% (634/1537)
回答No.7

#1です。 ダウンロードしたファイルは 「数式の値が」「に等しい」「文字化け」 になってました。 「セルの値」「に等しい」「=○」 と入力しなおすとちゃんと色がつきました。

全文を見る
すると、全ての回答が全文表示されます。
  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.6

#02、05です。#03さんへの補足見逃してました。 こちらのマクロに変更します。ご迷惑をおかけしました。(N4:N7を着色する仕様は変わりません。また全ての条件付き書式は解除してください) Private Sub Worksheet_Change(ByVal Target As Range) Dim CurADRS As String, idxROW As Long, Kekka CurADRS = Selection.Address Application.ScreenUpdating = False For idxROW = 12 To Range("O65536").End(xlUp).Row Kekka = Application.Match(Cells(idxROW, 15), Range("$N$1:$N$7"), 0) 'N1:N7の範囲で記号を検索 If IsError(Kekka) Then '記号が合致しないとき ActiveSheet.Range(Cells(idxROW, 1), Cells(idxROW, 16)) _ .Interior.ColorIndex = xlNone 'その行のA列~P列は塗りつぶしなし Else '記号が合致したセルの色に着色 ActiveSheet.Range(Cells(idxROW, 1), Cells(idxROW, 16)) _ .Interior.ColorIndex = Cells(Kekka, 14).Interior.ColorIndex End If Next idxROW Application.ScreenUpdating = True End Sub

全文を見る
すると、全ての回答が全文表示されます。
  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.5

#02です。ご要望を理解しました。 以下のマクロはO12以下に入力した記号でN4:N7の範囲を検索し、記号が合致したら(N4:N7の)セルの色で着色します。ですからN4:N7のセルは着色して動かしてみてください。(この仕様のほうが汎用的と思いましたが、色は固定でよいなら補足してくださればなおします) シートに設定した条件付き書式はすべて解除し、O12:031の式も削除してからお試しくださいね。 Private Sub Worksheet_Change(ByVal Target As Range) Dim Kekka If Target.Column = 15 And Target.Row >= 12 Then 'O列はA列から数えて15番目,12行以降が処理対象 Kekka = Application.Match(Target.Value, Range("$N$1:$N$7"), 0) 'N1:N7の範囲で記号を検索 If IsError(Kekka) Then '記号が合致しないとき ActiveSheet.Range(Cells(Target.Row, 1), Cells(Target.Row, 16)) _ .Interior.ColorIndex = xlNone 'その行のA列~P列は塗りつぶしなし Else '記号が合致したセルの色に着色 ActiveSheet.Range(Cells(Target.Row, 1), Cells(Target.Row, 16)) _ .Interior.ColorIndex = Cells(Kekka, 14).Interior.ColorIndex End If End If End Sub

全文を見る
すると、全ての回答が全文表示されます。
  • chiezo2005
  • ベストアンサー率41% (634/1537)
回答No.4

#1です。 エクセル2003では記号でもできました。 「セルの値が」 「次の値に等しい」 「="△"」 としてますか? とりあえず,4個までなので拡張性を考えると#2さんのようなマクロしかないかな。

kanna5
質問者

補足

返答ありがとうございます。 ためしてみたのですが、こちらもやっぱりうまくいきません。 この実際に試しているエクセルのデータをアップロードしましたので、もしよろしければどうかお願いします。 passは1111です。 www.uploda.net/cgi/uploader4/index.php?dlpas_id=0000004069.zip

全文を見る
すると、全ての回答が全文表示されます。
  • Scull
  • ベストアンサー率26% (248/951)
回答No.3

IF関数を使って、記号を元に条件になる数値を書き出すセルを作成し、書き出されたセルの数値を元に条件付き書式を設定すればよいのでは? たとえばA列に◎が入ったら1、△が入ったら2、□が入ったら3、×が入ったら4と書き出すIF関数をB列に入力します。 条件付き書式はB列のデータを元に設定すればよろしいでしょう。

kanna5
質問者

補足

すいません、先ほどアップしたエクセルのファイルですが、説明忘れていました。 1~4の列に日付を入れるとステータスに△などの記号が入るようになっています。 ステータスに入った記号を受けて行の表示を自動で変えたいと思っているのです。

全文を見る
すると、全ての回答が全文表示されます。
  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.2

ならばマクロでやってみませんか? あまり汎用的ではないですが以下のマクロを、そのシートのマクロとしてペーストしてみて下さい。O12セルが変わるたびに色が着きます Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address = "$O$12" Then '対象のセルが変わったらこの行を修正 Select Case Target.Value Case "△" ActiveSheet.Range("O:O").Interior.ColorIndex = 8 '着色する列は("x:x")を修正 Case "□" ActiveSheet.Range("O:O").Interior.ColorIndex = 46 Case "○" ActiveSheet.Range("O:O").Interior.ColorIndex = 13 Case "◎" ActiveSheet.Range("O:O").Interior.ColorIndex = 5 Case Else ActiveSheet.Range("O:O").Interior.ColorIndex = xlNone End Select End If End Sub ColorIndexで色を指定しますが、紫、青はかなり濃い色なのでラベンダー(=39)、薄い青(=41)、薄い水色(=34)などの色を使った方が良いかもしれません。 マクロをペーストするには該当のシートを開いた状態で、alt+F11でVBE画面を開いて、F7キーを押すとコード入力画面が開きますから、そこにペーストして下さい

kanna5
質問者

補足

皆様、いろいろありがとうございます。 いろいろとためしてみたのですが、やっぱりうまくいきません。 一応、作っているエクセルのデータをアップロードしました。もしよろしければどうかお願いします。 passは1111です。 www.uploda.net/cgi/uploader4/index.php?dlpas_id=0000004069.zip

全文を見る
すると、全ての回答が全文表示されます。
  • chiezo2005
  • ベストアンサー率41% (634/1537)
回答No.1

以下のURLに4つの場合の例が載っています。 貴方の場合,数字ではないので,入力時に入力値の制限を組み合わせれば,とりあえずこの場はしのげるのでは? ----以下URLより一部引用------- Excel の条件付き書式では、3 つの条件を使用できます。ただし、セルのデフォルトの書式設定を考慮すれば、最小から最大まで条件を正しく設定することで、実際には 4 つの条件を使用できます。たとえば、次のようにデータに色を追加するとします。

参考URL:
http://office.microsoft.com/ja-jp/assistance/HA011366251041.aspx
kanna5
質問者

補足

すいません、御教授いただいた方法では、 セルの値は数値であることが条件のようです。 セルには記号がはいるのでこの方法では出来ないようです。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • セルの色を調べたい

    既に色づけされたファイルを渡され、 白黒印刷では判別できないので、薄緑色だけサインペンで色を塗るようにと業務指示を受けました。 条件付書式ではありません。 また、薄緑、薄水色、黄色、オレンジ、青等の色もあります。 しかし、画面上では薄緑と水色の判別が目でできません。今はセルの書式設定のパターンひとつひとつ、調べております。 データはかなり膨大なので、何かいい方法があれば教えていただきたいです。どうぞ宜しくお願いします。

  • エクセル 行ごと色をつける方法

    エクセルの色をつける方法について解らない事があるので どなたか教えてください。 下記のような表があります。 A    B    C    D 番号  氏名  点数  回数 1   あああ 1000 20 2   いいい 3000 15 3   ううう  1000 30 4   えええ 5000 55 以下続く このような表で、D列に20以上の数値が入っている場合、 その行をまるまる色付する方法はありますのでしょうか? 今は条件付書式にて、D列に20以上の場合は色を指定して、 その後は手動でその行を色付けしているのですが、数が多く大変なので 最初から条件に合う行全体を色付ける方法があれば教えて頂きたいのです。 よろしくお願い致します。   

  • たとえばA2~H2まで(行)色をつけたい。

    お世話になっております。 Excel2000です。 たとえばA1~H1まではタイトル行だとします。 H列に○の印がついている行だけに色をつけたいのです。 (たとえばH2に○があるとしたら、A2~H2までの列に色をつけたい) とりあえず、私は、A2をクリック(選択)して条件付書式で設定しました。 (数式を選んで、=H2="○"という風にしてみました) そして、下のほうにマウスの右ボタンを押しながら書式のコピーをしてとりあえずA列は設定することはできましたが、A2から右の方に書式のコピーはできませんでした。そういうものなのでしょうか? 仕方がないので、B列、C列・・とそれぞれ条件付書式の設定を一列ずつしましたが、めんどうです。もっと簡単にできないものでしょうか?

  • エクセル 色つきセルのみの表示

    こんにちは いつもお世話になっています。 エクセル2003を使っています。 A列に文字データがあります。条件付書式で重複セルに色をつけてあります。 この色をつけたセルだけを表示させる方法を教えてください。 実際に色を付けてあれば検索で処理できるようですが、条件付書式でのやり方をネット上で探せませんでした。よろしくお願いします。

  • エクセル 値によって行の色を変えたい

    過去ログ探したのですが、なかなか見つからなくて、質問をさせてください。 例えば、 企業名 提案日 ステータス -------------------------- A社 2/14 失注 B社 2/09 受注 C社 2/20 提案予定 D社 2/21 提案予定 のときに、    企業名 提案日 ステータス    -------------------------- 赤→ A社 2/14 失注 青→ B社 2/09 受注 黄→ C社 2/20 提案予定 黄→ D社 2/21 提案予定 というふうにステータスの値によって行の色を変化させたいのですが、関数や条件付書式では無理でしょうか?条件付書式でステータスの値のあるセルの色は変えることができたのですが、行全体の色が変わりません。 マクロでないと不可能でしょうか?

  • エクセル2003で、数式で出されたセルの値によって、そのセル自体を塗り

    エクセル2003で、数式で出されたセルの値によって、そのセル自体を塗り分けしたいのですが、7種類あるため条件付書式では対応出来ず困っています。 具体的には「2.7000~2.7099」ならピンク、「2.7100~2.7199」なら黄色、「2.7200~2.7299」なら黄色「2.7300~2.7399」なら緑色「2.7400~2.7499」なら青色「2.7500~2.7599」なら紫「2.7600~2.7699」なら灰色 という具合です 漠然としていて申し訳ないのですが、マクロを使用したいと思っています。お力を貸していただけないでしょうか?

  • Excelで、選択したセルがある行を色を変える。

    MS Excelで、選択したセルがある行を色を変える方法を知りたいです。 たぶん、条件付書式だったと思ったのですが、 回答よろしくお願いします。

  • エクセルで土・日のセルに幅広く色をつけたい

    エクセルで予定表を作成しています。A列に日付・BからH列まで項目を設けています。(A列は、33行目まで日付が入力されています) A列に条件付書式で、条件付書式の設定で条件(1)数式が=WEEKDAY(A33)=1  パターン  色  ブルー  フォント  赤 A列に条件付書式で、条件付書式の設定で条件(2)数式が=WEEKDAY(A33)=7  パターン  色  グリーン フォント  赤 の設定を行いました。 A列の 土・日のフォントが赤に、セルの色がブルー・グリーンになるのですがBからH列はセルに色がつきません。 A33:H33  までの設定にするとセルの色がグレーになります。 AからHまでセルに同じ色を表示する設定はあるのでしょうか。

  • エクセル2010 指定の範囲内だったら関連するセル

    エクセルで解らないことがあったので教えて頂けませんか? エクセル2010を使っています。 Eの12、13、14セルに入っている数字が30以下ならピンク、30より大きく60以下なら緑、60より大きく90以下なら青、と言う条件付書式を与えています。 その条件付書式に該当しない場合もあるのですが該当した場合のみ、その関連するE29セルの数値をW37セルに抜き出したいと思います。 これを関数だけで実現する方法はあるのでしょうか? 他の列も同じようにし抜き出したいと思いますので、なるべく簡単な方法を教えて頂けませんか? よろしくお願いいたします。

  • EXCELのセル内で数値(値)の色を変更したい

    EXCEL2010を使用していますが、 あるセル内で最初から○番目から以降の入力数値の色を自動的に変更したいのですが何か方法はありますか?  例えばA1セルに数値を入力しますが、最初から3番目までの数値は黒、4番目からは赤という風に自動で変わるようにしたいのです(8番目からは青というふうにも出来るなら教えてほしいです)  条件付書式等ではセル全体で入力値の色が変わってしまいます また、今のセルに入力してある数値をいくつかのセルに分けて入力しようと思いましたが、 そのファイル自体がいろんなファイルと連動したシステムを構築してありますので不可能になっています お知恵をお借りできればと思いますのでよろしくお願いいたします 

専門家に質問してみよう