• ベストアンサー

マクロで予定表 セルに色を塗る

下記のような表があります。 (1)シート名 予定表    A      B     C 1  日付    曜日  予定 2 2008/11/21 金   ビデオ返却 3 2008/11/22 土   飲み会 4 2008/11/23 日   デート ・    ・     ・     ・ ・    ・     ・     ・ ・    ・     ・     ・ (2)シート名 設定 A1 =TODAY() A2 =MATCH(A1,予定表!A:A,0) <<やりたいこと>> 昨日の日付と曜日と予定のセルをグレーに塗りたい。 ブックを開いた時に日付が変わっていれば自動で実行する。 現在のマクロは以下です。 Sub Auto_Open() Worksheets("予定表").Activate ActiveWindow.ScrollRow = Worksheets("設定").Range("A2") Range("A1").Select End Sub いろいろ調べましたが解りませんでした。 よろしくお願いします。

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

  • ベストアンサー
  • hana-hana3
  • ベストアンサー率31% (4940/15541)
回答No.1

マクロでやらなくても条件付き書式の機能で可能です。 http://www2.odn.ne.jp/excel/waza/cformat.html#SEC30

974tkqkl
質問者

お礼

早速の回答ありがとうございます。 URL大変参考になりました。 条件付書式って思っていたより色々なことができるのですね。 勉強になしました。ありがとうございました。 また、よろしくおねがいします。 P.S 以下で解決しました。 =$A14<TODAY()

その他の回答 (1)

  • hallo-2007
  • ベストアンサー率41% (888/2115)
回答No.2

ActiveWindow.ScrollRow = Worksheets("設定").Range("A2") ? Cells(Worksheets("設定").Range("A2").Value, 1).Interior.ColorIndex = 15 Cells(Worksheets("設定").Range("A2").Value, 2).Interior.ColorIndex = 15 のことでしょうか。 設定のシート使わずに GYOU = Range("A:A").Find(Date - 1).Row'A列で昨日の日付探して行番号を取得 Match関数と結果同じ Cells(GYOU, 1).Interior.ColorIndex = 15 Cells(GYOU, 2).Interior.ColorIndex = 15 とかがわかりやすいでしょうか。 別案ですが、条件付書式ではダメなのでしょうか。

974tkqkl
質問者

お礼

詳しい回答ありがとうございます。 ActiveWindow.ScrollRow = Worksheets("設定").Range("A2") ? MATCH関数で取得した値を行番号の代わりにして、今日の日付の行を最上部に表示させるためのものです。 ご指摘のように、条件付書式で対応できることが分かりました。ありがとうございました。また、分からないことがあったら、よろしくお願いします。

関連するQ&A