• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:VBAで教えてください。)

VBAで訪問日が過ぎていて、御礼の手紙が未入力なら“超過があります”とメッセージと色で知らせるコードについて教えてください

このQ&Aのポイント
  • VBAを使用して、訪問日が過ぎていて、御礼の手紙が未入力なら“超過があります”とメッセージと色で知らせるコードについて教えてください。
  • また、御礼の手紙を書いた日付から20日が過ぎても返事が来た日付が入力されていない場合には、“返事がありません”とメッセージを表示し、行を薄い灰色に塗るようにしたいです。
  • 該当するコードの中で、返事が来た日付が入力されていない場合に、“返事がありません”とメッセージを表示する処理と、行を薄い灰色に塗る処理を追加する方法を教えてください。

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

  • ベストアンサー
  • pulsa
  • ベストアンサー率57% (34/59)
回答No.1

細かいところはさておいて 指定されたセルの20日後が判定できれば良いと解釈します MsgBox DateAdd("d", 20, Now()) 今日から20日後を表示します コードに入れると If SH.Range("P1") >= DateAdd("d", 20, SH.Cells(i + 3, "I")) Then ですかね 勉強中との事なので、組み込んだコードを示すのは止めておきますが、代わりにウンチクをひとつ 大したことではないのですが、比較(Ifとか)を行うときは、比較演算子の左が元々有るもの(変わらない、どこから引き継いだ のような意味) 右が今回比較する物(変わる物、左より後に生成された、結果Trueになっていてもらいたい値 のような意味)とするのがお作法です 別にどっちに書いても同じ意味ですし、動作しますが、コーディングしてる人(特に最初の内)の動作イメージがしやすくなります とは言え、同時に変わる場合もよくありますから、まぁ一応って事で^^;

4k3s4r3
質問者

お礼

ありがとうございました、うまくできました。アドバイスもいただき、役立ちました。今後とも宜しくお願いします。

関連するQ&A