• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:タブキー 自身のコントロールにフォーカスをあてたい)

タブキーで自身のコントロールにフォーカスをあてたい

このQ&Aのポイント
  • タブキーで移動しても自身のコントロールにフォーカスをあてたい
  • txt_検索文字コントロールの更新イベントが発生しても、再度同じコントロールのままカーソルをあてる方法を教えてください
  • タブキーを押してイベントが終わっても、再度、txt_検索文字のままにしたい

質問者が選んだベストアンサー

  • ベストアンサー
  • watabe007
  • ベストアンサー率62% (476/760)
回答No.2

>タブキーを押してコントロールの更新イベントが発生しても、再度同じコントロールのままカーソルを充てる方法 フラグを、たてタブキーが押された場合、Exitイベントが発生しないようにすれば如何ですか Dim Flg As Boolean Private Sub txt_検索文字_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)    If KeyCode = 9 Then Flg = True End Sub Private Sub txt_検索文字_Exit(ByVal Cancel As MSForms.ReturnBoolean)   If Flg = True Then Cancel = True   Flg = False End Sub

vssgzbjsukh
質問者

お礼

早速試してみましたが Private Sub txt_検索文字_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer) この部分で、ユーザー定義型は定義されていません になってしまいました・・・

vssgzbjsukh
質問者

補足

と思ったら、 Private Sub txt_検索文字_Exit(Cancel As Integer) If Flg = True Then Cancel = True Flg = False End Sub Private Sub txt_検索文字_KeyDown(KeyCode As Integer, Shift As Integer) If KeyCode = 9 Then Flg = True End Sub これにしたら、解決しました。 ありがとうございます。

その他の回答 (2)

回答No.3

Private Sub テキスト0_KeyDown(KeyCode As Integer, Shift As Integer)   If KeyCode = 9 Then     SendKeys "+{ENTER}", True     KeyCode = 0   End If End Sub {Shift}{Enter}をキー送出し、{TAB}を保持しているKeyCodeに0を代入。 これで、置換できます。

vssgzbjsukh
質問者

お礼

このように使うのですね。ありがとうございました。勉強になりました。

回答No.1

タブキーが押されたら{Shift}{Enter}と置換すれば、目的は達成されます。 >Me.Controls("txt_検索文字").SetFocus この行は不要です。

vssgzbjsukh
質問者

お礼

置換の方法について調べてみます

関連するQ&A