Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


3322 / 13646 ツリー ←次へ | 前へ→

【62926】任意の日付データの取得方法。 ぽてちん 09/9/18(金) 9:46 質問[未読]
【62927】Re:任意の日付データの取得方法。 りおりお 09/9/18(金) 10:49 発言[未読]
【62928】Re:任意の日付データの取得方法。 ぽてちん 09/9/18(金) 13:33 お礼[未読]

【62926】任意の日付データの取得方法。
質問  ぽてちん  - 09/9/18(金) 9:46 -

引用なし
パスワード
   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でもバージョンが違うと使えないようです。

なんとか、日付を入力してもらって、判定させたいので宜しくお願いいたします。

【62927】Re:任意の日付データの取得方法。
発言  りおりお  - 09/9/18(金) 10:49 -

引用なし
パスワード
   Sub try()
Dim r As Range
Dim rr As Range
Dim d As Variant

On Error Resume Next
Set rr = Application.InputBox("セル範囲をマウスで指定して", Type:=8)
If rr Is Nothing Then Exit Sub
d = Application.InputBox(prompt:="判定したい日付を入力してください。", Type:=2)
If Not IsDate(d) Then Exit Sub
On Error GoTo 0

For Each r In rr
   If IsDate(r.Value) Then
    If r <= DateValue(d) Then
      r.Interior.Color = RGB(255, 255, 130)
    End If
   End If
Next

Set rr = Nothing
End Sub

こんな感じでしょうか?

>「カレンダーコントロール」というのもあるようですが、
>Office2003でもバージョンが違うと使えないようです。
確かAccessがインストールされていないと使えなかったと思います。

【62928】Re:任意の日付データの取得方法。
お礼  ぽてちん  - 09/9/18(金) 13:33 -

引用なし
パスワード
   りおりおさん。
ありがとうございます。
またまた面倒をおかけし申し訳ありません。m(_ _)m

早速。試してみます。

Accessはインストールしていないです。
実行するPCにも必要だと困りますね。

3322 / 13646 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free