Excel VBA質問箱 IV

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

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


71282 / 76733 ←次へ | 前へ→

【9946】Re:年、月、日。それぞれのチェック
回答  VBA超初心者  - 03/12/24(水) 15:19 -

引用なし
パスワード
   日付の大小比較だけでよければ、下記のコードで可能かと思います。

>Private Sub Worksheet_Change(ByVal Target As Range)
  If Left$(Target.Value, 4) > Format(Date, "yyyy") Then
    MsgBox "現在の年よりもおおきい"
    GoTo 終了
  ElseIf Left$(Target.Value, 4) & Mid$(Target.Value, 5, 2) > Format(Date, "yyyymm") Then
    MsgBox "現在の年月よりもおおきい"
    GoTo 終了
  ElseIf DateSerial(Left$(Target.Value, 4), Mid$(Target.Value, 5, 2), Right$(Target.Value, 2)) >= Date Then
    MsgBox "現在よりも過去のデータを入力してください。"
    GoTo 終了
  End If
  
>    If DateSerial(Left$(Target.Value, 4), Mid$(Target.Value, 5, 2),_
>      Right$(Target.Value, 2)) >= Date Then
>      MsgBox "現在よりも過去のデータを入力してください。"
>       GoTo 終了
>    End If
>    
>    終了:
>  Application.EnableEvents = False
>  Application.Undo
>  Application.EnableEvents = True
>  Target.Select
>End Sub

2 hits

【9944】年、月、日。それぞれのチェック テーブル 03/12/24(水) 14:49 質問
【9946】Re:年、月、日。それぞれのチェック VBA超初心者 03/12/24(水) 15:19 回答
【9950】Re:年、月、日。それぞれのチェック テーブル 03/12/24(水) 16:22 お礼

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