MW211 EXIT

devlog
ExcelVBA/フォーム入力欄チェックの落とし穴(2)
2020年09月11日
マルチページの場合、他のページに直接飛んだ場合にも
Exitイベントが効かないようようだ。
┌──────────────────────────────────────┐
│Private Sub TextBox_Exit(ByVal Cancel As MSForms.ReturnBoolean)             │
│    ' 入力チェックや補正                                                    │
│End Sub                                                                     │
└──────────────────────────────────────┘

となると、いよいよページの変更イベントに仕込む必要も出てくる。
┌──────────────────────────────────────┐
│Private Sub MultiPage_Change()                                              │
│    ' 入力チェックや補正                                                    │
│    ' 入力チェックや補正                                                    │
│    ' 入力チェックや補正                                                    │
│End Sub                                                                     │
└──────────────────────────────────────┘
しかも、どの入力欄からなのかが定まらないのですべてに対応って感じになるのか?

そうなるとチェック処理を関数化したくなってくる。
引数に入力欄を渡す方法は以下のような感じになる。
┌──────────────────────────────────────┐
│Call 入力チェック(Me.TextBox)                                               │
├──────────────────────────────────────┤
│Private Sub 入力チェック(ByVal テキストボックス As MSForms.TextBox)         │
│    ' 入力チェックや補正                                                    │
│End Sub                                                                     │
└──────────────────────────────────────┘
分類:ExcelVBA