HOMEへ
PRODUCTSへ
LEARNING
LINKへ
LOGO
HeadLine
Image画像
MailTo:
 「イベントの発生順」で紹介しましたが、イベントの BeforeUpdate、Exit には引数に Cancel があります。使い方次第ですが、この引数 Cancel をうまく使うことにより、さらにフォームの使いやすいものになります。

 例えば、あるテキストボックスの入力可能文字数を設定し、それより長い文字列が入力された場合、その旨をメッセージボックスで知らせ、再度入力を促すようにプログラミングできます。

 通常、テキストボックスに入力した後[TAB]キーを使うと、カーソルが次のテキストボックスに移動してしまい、再入力のテキストボックスにカーソルを手で移動しないといけません。Cancel を使うことにより、その移動を VBA にやらせることが出来ます。

 下記の例を参考にしてください。また、プログラム中の Cancel = True をなくした場合と比べてみてください。



■エラーによる再入力を促す

例として、次のようなフォーム、プログラム内容を示す。

エラーによる再入力 Sample


Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)

 If Len(Me.TextBox1) <> 8 Then
  MsgBox "IDエラーです.IDの長さは、半角8文字です."
  Cancel = True
  Me.TextBox1.SetFocus
 End If

End Sub


Private Sub CommandButton1_Click()

 Unload Me

End Sub


ORDER FORMへ
もどる

 イベントのキャンセル

もどる


VBA World
E-Mail:info@vba-world.com