1

現在の日付に基づいてセル範囲 (Excel 2007) に条件付き書式を適用するにはどうすればよいですか?

私は 6 週間の計画を立てており (各列は 1 週間の 1 日 (週末を除く月曜日から金曜日) を表します)、ユーザーの操作なしで 1 日が経過するにつれて各列を緑色で陰影付けしたいと考えています。それは、毎日正確に「マークオフ」されます。

これが私が達成したいことです: 私は 1 月 1 日月曜日に計画を確認します。その後、1 月 4 日木曜日までアクセスしません。計画が開かれると、列 MW が緑色で陰影付けされていることがわかりますが、6 週間の残りの計画の残りの部分は陰影なしのままであり、これは 6 週間の計画の残りの期間にわたって続くはずです。 .

これは可能ですか?

VBA を使用してシステム時刻を確認し、日付に応じて書式設定を適用すると想像できます。

どうもありがとう。

アップデート

これは私のプランナーがどのように見えるかです:

プランナー

4

2 に答える 2

2

確かに、それは可能です。以下はあなたを正しい軌道に乗せるはずです。

まず、ワークブックが閉じたときのセルに現在の日付/時刻を保存することで、ワークブックに最後にアクセスした時刻を記録できます。これはWorkbook_BeforeClose、ワークブックモジュールに配置する必要があるイベントを使用して実行できます。VBAエディター(Alt- F11)を開き、ThisWorkbookモジュールを開いてこのコードを貼り付けます。

Private Sub Workbook_BeforeClose(Cancel As Boolean)
    Sheet1.Range("B2").Value = Now()
End Sub

ワークブックが閉じられるたびに、閉じた時刻の日付/時刻がセルB2に記録されます(適切と思われる場合はこれを変更してください)。

セルB3で、=NOW()Excelの数式を使用して現在の日時を表示します。セルB2とB3は、列を強調表示する間隔を定義します。

ここに画像の説明を入力してください

次に、列をフォーマットする方法...上の画像のように、列に日付ヘッダーがあるとします。「カレンダー」範囲(上記の例ではC5:I12)を選択し、[条件付き書式]>[新しいルール...]>[数式を使用]をクリックします。数式は=AND(C$5>$B$2,C$5<$B$3)、ヘッダーの日付が前回ワークブックが閉じられた後であるが、今より前(適切と思われるように調整)の列のみがフォーマットされることを意味する必要があります。クリックFormat...して、たとえば緑色の塗りつぶしなどを選択します。次にOK

ここに画像の説明を入力してください

もちろん、これをさまざまな方法で調整できます(たとえば、真夜中に前日または翌日に丸めるなど)が、少なくとも今は正しい方向に進んでいるはずです。

于 2012-08-22T11:08:32.997 に答える
0

次の条件付き書式の数式を使用します。

=IF(DAYS360(DATE(B$2;B$3;B$4);TODAY())>1;1;0)

if(この列の日付と今日の差が 1 日以上の場合、真、そうでない場合は偽)

のようなシートで使用します ここに画像の説明を入力

于 2012-08-22T14:28:37.360 に答える