• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセルVBA マルチページのSetFocus)

エクセルVBA マルチページのSetFocus

このQ&Aのポイント
  • マルチページ内でテキストにフォーカスする方法について
  • マルチページ内のテキストにフォーカスする方法を調べてもうまくいかない
  • マルチページ内のテキストにフォーカスする方法を教えてください

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

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.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 で十分です。

kak_yuriko
質問者

お礼

ご回答、ありがとうございます。 説明が悪くすみません。 マルチページの中には、5ページあります。 その1ページ1ページには、テキスト・チェックボックス等が9つあります。 txtMei1-1 ~ txtMei4-5 (txtMeiの後の数字がページ内の番号、次の数字がページ数としています) chkMei5-1 等 Me.MultiPage1.Value = mytxt.Parent.Index mytxt.SetFocus を入れてみたのですが、 「エラー 438   オブジェクトは、このプロパティまたはメソッドをサポートしていません。」 となってしまいました。 私の入力が悪いのかもしれません。 すみません。 また、ご回答いただけると幸いです。

kak_yuriko
質問者

補足

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で十分でした。 本当にありがとうございました。

関連するQ&A