Excel VBA質問箱 IV

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

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


35260 / 76732 ←次へ | 前へ→

【46673】[46540]の件で再質問です
質問  takashi  - 07/2/12(月) 2:59 -

引用なし
パスワード
   下記コードの範囲では通常の日付入力
たとえば"07/05/20"と入力した場合
現時点では"07/02/21"と表示されてしまうのですが
普通に手入力を実行した場合にその日付にすることは
可能でしょうか?よろしくお願いします。

Private Sub Worksheet_Change(ByVal Target As Range)
  Dim 各々のセル As Range

  If Intersect(Target, Range("B20:B350")) Is Nothing Then
    Exit Sub
  End If
  
  Application.EnableEvents = False

  'For Each を使ってIntersect(Target, Range("B20:B350"))の範囲内にあるセルを
  '1つ1つ処理する。
  For Each 各々のセル In Intersect(Target, Range("B20:B350"))
    If IsNumeric(各々のセル.Value2) And 各々のセル.Value2 <> "" Then
      If Day(Date) >= 23 Then
        各々のセル.Value = DateSerial(Year(Date), Month(Date) + 1, Day(各々のセル.Value2) + 1)
      Else
        各々のセル.Value = DateSerial(Year(Date), Month(Date), Day(各々のセル.Value2) + 1)
      End If
    End If
  Next
  
  Application.EnableEvents = True
End Sub

1 hits

【46673】[46540]の件で再質問です takashi 07/2/12(月) 2:59 質問
【46727】Re:[46540]の件で再質問です へっぽこ 07/2/13(火) 13:02 回答
【46740】Re:[46540]の件で再質問です takashi 07/2/13(火) 15:17 お礼

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