- ベストアンサー
Excel2007 月ごと色分け
お願い致します。 現在一つのセルに「2012/5/1」の書式で日付が入っており、それが1000行くらいあります。 月ごとのに1月は赤 2月は青 3月は黄色 とセルの色を変えたいと思っていますが上手くいきません。 条件付き書式の数式で「=MONTH=12」等をやってみたのですがダメです。 簡単にできると思ったのですが出来ないのでご指導のほどお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
No.1です! たびたびごめんなさい。 前回書き忘れたのですが、 2月以降の場合の数式は =MONTH(A1)=2 といった具合でOKです。 Excelの場合 空白 = 0 = 1900/1/0 と判断してしまうようで、空白すべてが1月と判断されます。 この際ですので余計なお世話かもしれませんが、前回の別案のマクロの一例です。 ↓の画像のようにSheet2のA列に1~12月の色(見えにくい場合はフォントの色も)設定しておきます。 そしてSheet1のA列1行目からデータがあるとして・・・ 画面左下のSheet1のSheet見出し上で右クリック → コードの表示 → VBE画面に ↓のコードをコピー&ペーストしてマクロを実行してみてください。 (Alt+F8キー → マクロ → マクロ実行です) Sub test() 'この行から Dim i, k As Long Dim ws As Worksheet Set ws = Worksheets("Sheet2") Application.ScreenUpdating = False With Columns(1) .Interior.ColorIndex = xlNone .Font.ColorIndex = xlAutomatic End With For i = 1 To Cells(Rows.Count, 1).End(xlUp).Row '←データが2行目からなら、1 を 2 に! k = Month(Cells(i, 1)) With Cells(i, 1) .Interior.ColorIndex = ws.Cells(k, "A").Interior.ColorIndex .Font.ColorIndex = ws.Cells(k, "A").Font.ColorIndex End With Next i Application.ScreenUpdating = True End Sub 'この行まで ※ 条件付書式が設定してある場合はマクロでも色変更ができませんので マクロでやる場合は条件付書式はすべて削除しておきます。 長々と失礼しました。m(_ _)m
その他の回答 (1)
- tom04
- ベストアンサー率49% (2537/5117)
こんにちは! 仮にA列のシリアル値に色付けするとします。 1月の場合だと、 A列全てを範囲指定 → 条件付書式 → ・・・ → 数式欄に =AND(A1<>"",MONTH(A1)=1) として → 書式から好みの色を選択しOK 同様に2月~12月までを設定します。 ※ 数式内のA1部分は範囲指定した最初(一番左上)のセル番地です。 ※ 別案として、別Sheetに12色の色を設定しておき、それを表示させる方法もあります。m(_ _)m
お礼
ご丁寧にマクロまでありがとうございます。 条件付書式でも上手くいきましたがマクロでやってみました。 VBAを頑張って覚えます! 有難うございました。