[[20130213150604]] 『次のテキストボックスへエンターキーで移動させたい』  ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『次のテキストボックスへエンターキーで移動させたい』

(ゆきの)

TextBox1からTextBox2へ、ENTERキーを押すとカーソルが移動するようにしたいです。

Private Sub TextBox4_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)

     If KeyAscii = 13 Then
          UserForm1.TextBox5.SetFocus
     End If
 End Sub

と書きましたが反応しません。
何を間違えているのか教えていただきたいです。


 原因はいまいちよくわかってませんけど、
 KeyDown
 のほうでやってみたら。
 KeyPress・・・あまり使ったことがないけど。
 BJ


BJさんありがとうございます。

KeyDownに変えましたがうまくいきません・・・。

(ゆきの)


 ユーザーフォームのテキストボックスだったらタブオーダーを設定しておけば普通にEnterキーでカーソル移動できますが…

 @Excel2010

 (またたび)


 ええと、KeyDownにするとこうなるけどこの辺直しました?
 If KeyCode = 13 Then

 ところで、なんで、UserForm1.TextBox5 となっているのでしょうか?
 UserForm1は、いらないですね。
 また、TextBox5には移動するけど、TextBox2には移動しないでしょうね。
 BJ

 ちょっとやりたいことがはっきりわからないけど、Enterを押したときに移動したいんだったら、(コードで書くんなら)

 Private Sub TextBox4_Exit(ByVal Cancel As MSForms.ReturnBoolean)
    TextBox5.SetFocus
 End Sub

 これでダメかな?

 (またたび)

みなさんすいません。
うまくいきません。

エクセルは2000です(先に言うべきでした)

もう一度最初からやり直してみます。

(ゆきの)


テキストボックスに =EMBED("Forms.TextBox.1","") という式が設定されるのですが
(テキストボックス1〜10まで全て同じ式)、
これを編集しようとすると「入力した文字列は参照名または義名として正しくありません」と
メッセージが出ます。
ここの式が誤っているから次のテキストボックスへタブやエンターで移動できないのでしょうか?

マクロへはこのように書いてみたのですが・・・。

Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)

   If KeyCode = 9 Then 
       TextBox2.Activate
   End If
End Sub

(ゆきの)


 名前を変えて再質問し、終了。

[[20130214142541]] 『次のテキストボックスへタブキーで移動させたい』(てら) 


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.