• ベストアンサー

EXCELで自動で色わけ、ソート機能について

たとえば、A列に物件名を入力し、その後、B列に完了(これは入力規制にしますが)と入れば、自動的に該当する行のA、B列のセル全体が指定した色に変わるというやり方。ちなみに、完了だけではなく5種類ぐらいに色分けするつもりです。 次にC列に○○、××、△△などのように指定した文字に対して、表がソートされる機能。たとえば、○○に対しての物件一覧に自動的に切り替わる方法です。よろしくお願いします。

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

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

A列の内容は色づけに関係ないと推察します。B列に入力された進捗状況によってA,B列に背景色を着けるという要望でしょうか。 一般には#01さんの回答にある条件付き書式を用います(A,B列共に着色可能です)。ただし一つのセルに設定可能な条件は3つまでですので進捗状態が5つもあると、条件付き書式では対応ができません。VBAが必要になります。 以下のサンプルマクロはB列に入力された内容によってA,B列のセルを着色するものです。入力シートのモジュールシートにペーストしてみてください。(Alt+F11でVBE画面を起動し、左側にある入力シート名をダブルクリックしたときに表示される画面です) Private Sub Worksheet_Change(ByVal Target As Range)  With Target   If .Column = 2 Then '処理対象をB列に限定    Select Case .Value    Case "完了"     Range(Cells(.Row, 1), Cells(.Row, 2)).Interior.ColorIndex = 3    Case "中断"     Range(Cells(.Row, 1), Cells(.Row, 2)).Interior.ColorIndex = 5    Case "未着手"     Range(Cells(.Row, 1), Cells(.Row, 2)).Interior.ColorIndex = 7    Case "作業待ち"     Range(Cells(.Row, 1), Cells(.Row, 2)).Interior.ColorIndex = 6    Case "作業中"     Range(Cells(.Row, 1), Cells(.Row, 2)).Interior.ColorIndex = 4    Case Else     Range(Cells(.Row, 1), Cells(.Row, 2)).Interior.ColorIndex = 0    End Select   End If  End With End Sub また後半の「、○○に対しての物件一覧に自動的に切り替わる方法」はオートフィルタを使用するのが良いと思います。オートフィルタはC列全体を選択した状態で「データ」→「オートフィルタ」で設定します。 なおカラーインデックス番号は下記URLを参照下さい

参考URL:
http://634.ayumu-baby.com/vba/color.html
f-skale
質問者

補足

返事おくれてすみません。 すみませんが、実際のシートでは、A列からAS列までで、 ある行のAS列に入力されると、その行のAからAS列まで 着色するというものです。よければ、それで教えてもらえませんか? よろしくお願いします。

その他の回答 (2)

  • NCU
  • ベストアンサー率10% (32/318)
回答No.2

文章をお読みして、ピンとこないのです。 ~というやり方。 ~される機能。 で、これらをどうされたいのですか?

  • pyara
  • ベストアンサー率30% (24/78)
回答No.1

「条件付書式」を使います。(「書式」メニューにあります) 指定したセルがある条件と一致した場合、そのセルを希望の色で塗りつぶすことが可能です。ご質問のような場合、A列のセルは、ある条件を「下隣のセルに”完了”という文字列があれば、このセルを○色に塗る」というように指定します。 ただ、同様にB列も同じ色で塗りつぶせればよいのですが、物件名が複数であれば、B列と同色で揃えていくことは私の知る限り難しいように思います。 条件付けたセルは、書式のコピーを右側にずーっと貼り付けていけば、列全体がその書式になります。

関連するQ&A