- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセルVBA マルチページのSetFocus)
エクセルVBA マルチページのSetFocus
このQ&Aのポイント
- マルチページ内でテキストにフォーカスする方法について
- マルチページ内のテキストにフォーカスする方法を調べてもうまくいかない
- マルチページ内のテキストにフォーカスする方法を教えてください
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
>マルチページ内には、いくつかのテキストとチェックボックスがあります。 >マルチページのページ数はmei_su = 5 です。 ご説明とマクロが矛盾しているように思われます。 とりあえず変更前: mytxt.SetFocus 変更後: Me.MultiPage1.Value = mytxt.Parent.Index mytxt.SetFocus それとも,マルチページの「1枚のページの中には」1個のチェックボックスと1個のテキストボックスの1セットしか無くて(幾つかあるワケじゃなくて),マルチページの頁数とチェック-テキストの組数は同じですというイミなら,今のマクロのままでOKですが,それならもっと簡単に 変更後: me.multipage1.value = i - 1 mytxt.setfocus で十分です。
お礼
ご回答、ありがとうございます。 説明が悪くすみません。 マルチページの中には、5ページあります。 その1ページ1ページには、テキスト・チェックボックス等が9つあります。 txtMei1-1 ~ txtMei4-5 (txtMeiの後の数字がページ内の番号、次の数字がページ数としています) chkMei5-1 等 Me.MultiPage1.Value = mytxt.Parent.Index mytxt.SetFocus を入れてみたのですが、 「エラー 438 オブジェクトは、このプロパティまたはメソッドをサポートしていません。」 となってしまいました。 私の入力が悪いのかもしれません。 すみません。 また、ご回答いただけると幸いです。
補足
keithin様、本当にありがとうございました。 For i = 1 To 5 Set mychk = Me.Controls("chkMei5_" & i) If mychk.Value = True Then Me.MultiPage1.Value = i - 1 Set mytxt = Me.Controls("txtMei2_" & i) mytxt.SetFocus MsgBox "エラーです。" Exit Sub End If Next ご指摘のようにi-1で十分でした。 本当にありがとうございました。