いつもお世話になっております。
ありがとうございます。
マルチページ内のエラー時に、テキストにフォーカスしたいのですが、
該当のエラーテキストではないページ(タブ)にカーソルがあった場合、
エラーとなってしまいます。
色々調べて、やってみたのですが、うまくいきません。
ご教授いただけると幸いです。
マルチページ内には、いくつかのテキストとチェックボックスがあります。
マルチページのページ数はmei_su = 5 です。
For i = 1 To mei_su
Set mychk = Me.Controls("chkMei5_" & i)
If mychk.Value = True Then
MsgBox "チェックされていますが、入力されていません。"
Set mytxt = Me.Controls("txtMei2_" & i)
mytxt.SetFocus
Exit Sub
End If
Next
MultiPage1.value = 0 とか、
Me.Controls("Page" & i).enable = true とかも
入れてみたのですが、ダメでした。
よろしくお願い致します。
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で十分でした。
本当にありがとうございました。
お礼
ご回答、ありがとうございます。 説明が悪くすみません。 マルチページの中には、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で十分でした。 本当にありがとうございました。