Excel VBA質問箱 IV

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

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


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

【38966】テキストボックスのフォーカス移動 りの 06/6/15(木) 14:42 質問[未読]
【38969】Re:テキストボックスのフォーカス移動 Jaka 06/6/15(木) 15:14 発言[未読]
【38972】Re:テキストボックスのフォーカス移動 りの 06/6/15(木) 15:39 質問[未読]
【38976】Re:テキストボックスのフォーカス移動 Jaka 06/6/15(木) 16:10 回答[未読]
【38985】Re:テキストボックスのフォーカス移動 りの 06/6/15(木) 16:41 お礼[未読]

【38966】テキストボックスのフォーカス移動
質問  りの  - 06/6/15(木) 14:42 -

引用なし
パスワード
   はじめまして。
未熟者で、すごく簡単な質問かも知れませんが、教えてください。
エクセルのシートに貼り付けたテキストボックス(ユーザーフォームではない)の
フォーカスをenterキーもしくはtabキーで移動させるにはどうしたらよいのですか?
イベントでコードを書く必要があるのでしょうか?
よろしくお願いします。

【38969】Re:テキストボックスのフォーカス移動
発言  Jaka  - 06/6/15(木) 15:14 -

引用なし
パスワード
   ▼りの さん:
>エクセルのシートに貼り付けたテキストボックス(ユーザーフォームではない)の
>フォーカスをenterキーもしくはtabキーで移動させるにはどうしたらよいのですか?
このテキストボックスの種類は、
コントロールツールボックス(アクティブXコントロール)のテキストボックス、
図形描画のテキストボックスのどちらなのでしょうか?

>イベントでコードを書く必要があるのでしょうか?
アクティブXコントロールならTextBox1_○○等で処理。
エクセルバージョンによって、動作が変わるからバージョン情報も必要。
(特に97がからむと、現在のPCはOffice2000になっちゃったので、97ではもう試せません。)

図形描画のテキストボックスなら、onkeyメソッドでマクロを割り当てる?ぐらいかと思いますが、多分ろくなものはできないと思います。(多分やったことない。)

【38972】Re:テキストボックスのフォーカス移動
質問  りの  - 06/6/15(木) 15:39 -

引用なし
パスワード
   早速の回答ありがとうございます。
情報不足でごめんなさい。。。

EXCELのバージョンは2003です。

>このテキストボックスの種類は、
>コントロールツールボックス(アクティブXコントロール)のテキストボックス、
>図形描画のテキストボックスのどちらなのでしょうか?

コントロールツールボックス(アクティブXコントロール)のテキストボックスです。

たしか、ユーザーフォームのコントロールでは『タブオーダー』にて設定できると
思うのですが、コントロールツールボックス(アクティブXコントロール)の
テキストボックスだとその設定がないので、、、、

よろしくお願いします。

【38976】Re:テキストボックスのフォーカス移動
回答  Jaka  - 06/6/15(木) 16:10 -

引用なし
パスワード
   テキストボックスが5個として
(クラスも何も使わず、素直?に書くと)

シートモジュール

Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
  Call 移動(KeyCode, 1)
End Sub

Private Sub TextBox2_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
  Call 移動(KeyCode, 2)
End Sub

Private Sub TextBox3_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
  Call 移動(KeyCode, 3)
End Sub

Private Sub TextBox4_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
  Call 移動(KeyCode, 4)
End Sub

Private Sub TextBox5_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
  Call 移動(KeyCode, 5)
End Sub

'標準モジュール
Sub 移動(KeyNo, No)
If KeyNo = vbKeyTab Then
  If No >= 5 Then
   No = 1
  Else
   No = No + 1
  End If
  ActiveSheet.OLEObjects("TextBox" & No).Activate
End If
End Sub

【38985】Re:テキストボックスのフォーカス移動
お礼  りの  - 06/6/15(木) 16:41 -

引用なし
パスワード
   回答ありがとうございます。
やはりイベントでコードを書かなくてはダメなんですね。
プロパティの設定とかで何とかなるかと思ったのですが。。。

丁寧に教えていただきありがとうございました。
早速やってみます♪
本当に感謝してます!!
また何かあった時はよろしくお願いします。

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