|
▼あき さん:
こんばんは。
>すみません.まったくの初心者です。
>メニュー画面から各作業内容に分岐するプログラムを書いています。
>メニュー画面(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イベントを使う事が多いです。
|
|