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

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

 

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

エクセルのシートにテキストボックスを複数置いてます。(Excel2000)
で、次のテキストボックスへはタブキーで移動させたいのですがうまくできません。

テキストボックスに =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


 「編集しようとすると」という意味がいまいちわからないけど、アップされたコードを、そのまま
 シートモジュールに貼付け、TextBox1に入力後、タブキーをおすと、TextBox2にカーソルは移動するよ?

 もしかして、「編集」といっているのは、シート上で、デザインモードにして数式バーにある
 =EMBED("Forms.TextBox.1","") 
 この数式を何かに変更しようとしたのかな?

 もしそうなら、何のために何に変更しようとしたのか教えてくれる?

 (ぶらっと)

TextBox1に入力後、タブキーをおすと、TextBox2にカーソルは移動するよ?
⇒これが、なぜか移動しないのです。

で、何が悪いのかわからず、すべてのテキストボックスが、"=EMBED("Forms.TextBox.1","")"
となっているので、ここの"Forms.TextBox.1"をTextBox.2、3・・・と変更しないといけないのかな?
と思いまして・・・。

(てら)


 >ここの"Forms.TextBox.1"をTextBox.2、3・・・と変更しないといけないのかな? 
 >と思いまして・・・。 

 これはさわっちゃいけない。
 TextBox.1 つまり、TextBox と 1 の間に .(ピリオド)が入っているよね。
 これは TextBox1 ということではなく、ActiveXコントロールのTextBoxタイプのものだよという記述なので。

 >これが、なぜか移動しないのです

 タブキーをおしてる?エンターキーだと(アップされたコードでは)移動しないよ?

 (ぶらっと)


これは TextBox1 ということではなく、ActiveXコントロールのTextBoxタイプのものだよという記述なので。 ⇒承知しました。

タブキーおしてるのですが・・・
テキストボックスのプロパティとかを変更しないとダメですか?

(てら)


 う〜ん・・・レスしたように、こちらでは移動するので・・・

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

 この下に MsgBox KeyCode と記述し TextBox1 でタブキーを押して、メッセージの内容を確認してみては?

 (ぶらっと)

ぶらっとさん、ごめんなさい。
ThisWorkbookに書き込んでたため動かなかったようです。

たくさん考えていただいて有難うございました。

(てら)


コメント返信:

[ 一覧(最新更新順) ]


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