Excel VBA質問箱 IV

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

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


35392 / 76732 ←次へ | 前へ→

【46540】Re:日付記入について教えてください
発言  へっぽこ  - 07/2/6(火) 10:49 -

引用なし
パスワード
   複数セルに一気に入力するケースを考慮してみました。

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


以下はテスト用のマクロですが…

Private Sub Worksheet_Change(ByVal Target As Range)
  MsgBox TypeName(Target.Value)
End Sub

1つのセルに何か入力したり、DELで消したりする場合と
複数セルに一気に何かした場合ではTaget.Value(Value2でも)の
型が変わってきてしまうのです。
(複数セルを一気に操作すると配列として扱う必要があります。)
0 hits

【46482】日付記入について教えてください takashi 07/2/5(月) 11:52 質問
【46483】Re:日付記入について教えてください Kein 07/2/5(月) 12:54 回答
【46484】Re:日付記入について教えてください Kein 07/2/5(月) 13:02 回答
【46486】Re:日付記入について教えてください takashi 07/2/5(月) 13:45 発言
【46488】Re:日付記入について教えてください Kein 07/2/5(月) 14:28 回答
【46491】Re:日付記入について教えてください takashi 07/2/5(月) 14:45 発言
【46493】Re:日付記入について教えてください Kein 07/2/5(月) 15:23 回答
【46494】Re:日付記入について教えてください Kein 07/2/5(月) 15:24 発言
【46501】Re:日付記入について教えてください takashi 07/2/5(月) 16:02 発言
【46506】Re:日付記入について教えてください Kein 07/2/5(月) 16:30 発言
【46507】Re:日付記入について教えてください takashi 07/2/5(月) 16:39 お礼
【46490】Re:日付記入について教えてください へっぽこ 07/2/5(月) 14:44 発言
【46499】Re:日付記入について教えてください takashi 07/2/5(月) 15:54 発言
【46503】Re:日付記入について教えてください へっぽこ 07/2/5(月) 16:07 発言
【46505】Re:日付記入について教えてください takashi 07/2/5(月) 16:19 発言
【46508】Re:日付記入について教えてください へっぽこ 07/2/5(月) 16:40 発言
【46513】Re:日付記入について教えてください takashi 07/2/5(月) 17:06 発言
【46515】Re:日付記入について教えてください へっぽこ 07/2/5(月) 17:57 発言
【46516】Re:日付記入について教えてください takashi 07/2/5(月) 18:10 お礼
【46517】Re:日付記入について教えてください へっぽこ 07/2/5(月) 18:26 発言
【46520】Re:日付記入について教えてください takashi 07/2/5(月) 20:54 発言
【46540】Re:日付記入について教えてください へっぽこ 07/2/6(火) 10:49 発言
【46545】Re:日付記入について教えてください takashi 07/2/6(火) 12:16 お礼

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