| 
    
     |  | 62827でシートの日付データを塗りつぶす件で質問をさせていただきました。 りおりおさんありがとうございました。
 
 今回は、その内容で、「今日の日付」から「任意の日付を入力する」に変わった場合の対処方法を考えています。
 
 ▼りおりお さんのご回答:
 >Sub try()
 > Dim r As Range
 > Dim rr As Range
 >
 > On Error Resume Next
 > Set rr = Application.InputBox("セル範囲をマウスで指定して", Type:=8)
 > If rr Is Nothing Then Exit Sub
 > On Error GoTo 0
 >
 > For Each r In rr
 >   If IsDate(r.Value) Then
 >    If r <= Date Then
 >      r.Interior.Color = RGB(255, 255, 130)
 >    End If
 >   End If
 > Next
 >
 > Set rr = Nothing
 >End Sub
 >
 >
 
 Dateのところが任意の日付の入った変数になればと思うのですが、
 
 d = Application.InputBox(prompt:="判定したい日付を入力してください。, Type:=8)
 
 If IsDate(d.Value) Then Exit Sub
 On Error GoTo 0
 
 と書いてみましたが、エラーになってしまいます。
 入力する形式も決めないといけないでしょうか。
 日付の入力は意外に面倒です。
 
 「カレンダーコントロール」というのもあるようですが、
 Office2003でもバージョンが違うと使えないようです。
 
 なんとか、日付を入力してもらって、判定させたいので宜しくお願いいたします。
 
 |  |