- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:VBA 表示する日付について質問します。)
VBAで特定条件時にセルのフォントカラーを変えるコードについて
このQ&Aのポイント
- VBAで特定条件を満たした場合にセルのフォントカラーを変えるコードを作成していますが、土曜日と日曜日を含まずに特定の日数以降の時間にフォントカラーを変える方法を知りたいです。
- 質問文の中で紹介されたVBAコードは、セルD3に表示された日付に対して、5日後の10時以降になった場合にセルD7のフォントカラーを変えるものです。しかし、このコードでは土曜日と日曜日も日数に含まれてしまいます。そこで、土曜日と日曜日を除外し、特定の日数以降の10時以降にフォントカラーを変える方法を知りたいです。
- 質問者はVBAで日付を操作して特定の日数以降の10時以降になった場合にセルのフォントカラーを変えるコードを作成しています。しかし、このコードでは土曜日と日曜日も日数に含まれるため、正確な条件を設定することができません。そこで、土曜日と日曜日を除外し、特定の日数以降の10時以降にフォントカラーを変える方法を教えて欲しいとのことです。
- みんなの回答 (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
お礼
色々試してみましたが、 D7=2014/07/03 10:00:00以降~の日付が変わっても、 そのままフォントカラーがvbCyanにはなりませんでした。 もし宜しければ、どの様にしたら良いか教えて下さい、 お手数お掛けします。
補足
回答ありがとうございます。 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のままでお願いできますでしょうか?