Excel VBA質問箱 IV

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

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


59097 / 76732 ←次へ | 前へ→

【22348】Re:KeyPressについて
発言  bykin  - 05/2/16(水) 20:59 -

引用なし
パスワード
   こんばんわ。

ご提示のコードでKeyUpイベントの場合・・・

1.テキストボックスでEnterを押して離す。
  ↓
2.メッセージボックスが表示されフォーカスが移る。
  ↓
3.Enterキーを押す。
  ↓
4.メッセージボックスのOKボタンが押されたことになるので
  メッセージボックスが消えてテキストボックスにフォーカスが戻る。
  ↓
5.Enterキーを離す。
  ↓
6.テキストボックスにフォーカスがあるので2に戻る。

ってことみたいやね。
マウスでOKボタン押したら問題ないねんけど。
ま、メッセージボックス出してるからややこしいんですわ(^^;;

でもKeyDownのほうがええとは一概には言えまへん。
例えば、こんなコードで実験してみると・・・

Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
  Debug.Print "KeyDown"
End Sub

Private Sub TextBox1_KeyUp(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
  Debug.Print "KeyUp"
End Sub

KeyUpはキーを離したとき、必ず1回だけ実行されるけど、
KeyDownはキーを押し続けたら何回でも実行されるのがわかると思います。

両方の特徴を理解した上で、状況によってどっちか選択したらええんとちゃいまっか?
ほな。

2 hits

【22332】KeyPressについて H.T 05/2/16(水) 15:36 質問
【22335】Re:KeyPressについて IROC 05/2/16(水) 16:31 回答
【22338】Re:KeyPressについて sa 05/2/16(水) 17:01 発言
【22348】Re:KeyPressについて bykin 05/2/16(水) 20:59 発言
【22362】Re:KeyPressについて H.T 05/2/17(木) 8:41 お礼

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