• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:VBA 表示する日付について質問します。)

VBAで特定条件時にセルのフォントカラーを変えるコードについて

このQ&Aのポイント
  • VBAで特定条件を満たした場合にセルのフォントカラーを変えるコードを作成していますが、土曜日と日曜日を含まずに特定の日数以降の時間にフォントカラーを変える方法を知りたいです。
  • 質問文の中で紹介されたVBAコードは、セルD3に表示された日付に対して、5日後の10時以降になった場合にセルD7のフォントカラーを変えるものです。しかし、このコードでは土曜日と日曜日も日数に含まれてしまいます。そこで、土曜日と日曜日を除外し、特定の日数以降の10時以降にフォントカラーを変える方法を知りたいです。
  • 質問者はVBAで日付を操作して特定の日数以降の10時以降になった場合にセルのフォントカラーを変えるコードを作成しています。しかし、このコードでは土曜日と日曜日も日数に含まれるため、正確な条件を設定することができません。そこで、土曜日と日曜日を除外し、特定の日数以降の10時以降にフォントカラーを変える方法を教えて欲しいとのことです。

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

  • ベストアンサー
  • mt2008
  • ベストアンサー率52% (885/1701)
回答No.1

土日を除いた日付はワークシート関数のNetworkDaysを使います。 こんな感じでどうでしょう。 Sub Sample()   nRtn = Application.WorksheetFunction.NetworkDays(Range("D3"), Range("D7"))   Range("D7").Font.Color = vbBlack   If (nRtn = 5) * (Hour(Range("D7")) >= 10) Then     Range("D7").Font.Color = vbCyan   End If End Sub

awmori
質問者

お礼

色々試してみましたが、 D7=2014/07/03 10:00:00以降~の日付が変わっても、 そのままフォントカラーがvbCyanにはなりませんでした。 もし宜しければ、どの様にしたら良いか教えて下さい、 お手数お掛けします。

awmori
質問者

補足

回答ありがとうございます。 D3=2014/06/27の日付表示で D7=2014/07/03 10:00:00でフォントカラーが変更になるんですが、 D7=2014/07/04 10:00:00ではvbBlackに戻ってしまいます。 D7=2014/07/03 10:00:00以降~日付が変わっても vbCyanのままでお願いできますでしょうか?

関連するQ&A