MW211 EXIT

devlog
ExcelVBA/Worksheet_ChangeのTarget
2017年12月26日
┌──────────────────────────────────────┐
│Private Sub Worksheet_Change(ByVal Target As Range)                         │
│    If Target.Value = "×" Then                                             │
│        MsgBox "入力エラー", vbCritical                                     │
│    End If                                                                  │
│End Sub                                                                     │
└──────────────────────────────────────┘
こんな感じで入力チェックを実装した場合、
コピー&ペーストで複数セルを同時入力された場合にエラーとなってしまう。
→試にタブ区切りで二単語以上をつないだものをまとめてコピぺしてみるとよい

ということで、Worksheet_ChangeのTargetは
複数セル同時入力されることを見越して、Foreach文にしておくのがよい。
┌──────────────────────────────────────┐
│Private Sub Worksheet_Change(ByVal Target As Range)                         │
│    Dim セル As Range                                                       │
│    For Each セル In Target                                                 │
│        If セル.Value = "×" Then                                           │
│            MsgBox "入力エラー", vbCritical                                 │
│        End If                                                              │
│    Next セル                                                               │
│End Sub                                                                     │
└──────────────────────────────────────┘
分類:ExcelVBA