Excel VBA質問箱 IV

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

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


9701 / 13644 ツリー ←次へ | 前へ→

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

【25909】うまく動きません
質問  あき  - 05/6/17(金) 17:58 -

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

 ’Userform2のテキストボックス(会員番号)に書いたマクロ
   Prinvate Sub 会員番号_Enter()
    Worksheets("会員名簿").Active
          :
          :
       以下 罫線を引くなど
エンターキーを押す前に罫線を引いてしまいます。  
  

【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イベントを使う事が多いです。

【25916】Re:うまく動きません
お礼  あき  - 05/6/17(金) 18:53 -

引用なし
パスワード
   ▼ichinose さん:
>こんばんは。
>
>>>   このEnterイベントは、Enterキーが押された時に
>   発生するイベントではありませんよ!!
>
>Private Sub 会員番号_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
>  If KeyCode = 13 Then
>   MsgBox "enterが押されました"
>   End If
>End Sub
>
>これでEnterが押された時にイベントが発生します。

ichinoseさん、前回に続きばかな質問に付き合っていただき本当にすみません。
そうだったのですか!!Enterって書いてあるからてっきり・・・。私はこれに5時間も費やしてしまいました。今から書店に行ってちゃんとした専門書を買ってきます。本当に有難うございました。

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