Excel VBA質問箱 IV

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

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


55592 / 76732 ←次へ | 前へ→

【25911】Re:うまく動きません
発言  ichinose  - 05/6/17(金) 18:25 -

引用なし
パスワード
   ▼あき さん:
こんばんは。

>すみません.まったくの初心者です。
>メニュー画面から各作業内容に分岐するプログラムを書いています。
>メニュー画面(Userform1)にコマンドボタン1を貼り付け、コマンドボタン1を押すと入力フォーム(Userform2)が表示され、その中に貼り付けたテキストボックス(会員氏名)に氏名を入力し、エンターキーを押すと次の処理に進むというようにしたいのですがエンターキーを押す前に次の処理に行ってしまいます。なぜなのでしょうか。
>どなたか宜しくお願いします。
>
> ’Userform2のテキストボックス(会員番号)に書いたマクロ
   このEnterイベントは、Enterキーが押された時に
   発生するイベントではありませんよ!!

>   Prinvate Sub 会員番号_Enter()
>    Worksheets("会員名簿").Active
>          :
>          :
>       以下 罫線を引くなど
>エンターキーを押す前に罫線を引いてしまいます。  

Private Sub 会員番号_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
  If KeyCode = 13 Then
   MsgBox "enterが押されました"
   End If
End Sub

これでEnterが押された時にイベントが発生します。
この場合、Keycodeをチェックしなければならないので
例えば、Tabキーでも同様に実行したい場合などTabキーが
押されたか否かをチェックしなければなりませんよ。

簡単に会員番号というTextboxから制御が移る時というなら

Exitイベントというのがありますが、
それぞれ都合よい場合と悪い場合がありますから、
気をつけて下さい。

私は、こういう場合、このKeyDownイベントを使う事が多いです。
0 hits

【25909】うまく動きません あき 05/6/17(金) 17:58 質問
【25911】Re:うまく動きません ichinose 05/6/17(金) 18:25 発言
【25916】Re:うまく動きません あき 05/6/17(金) 18:53 お礼

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