|
りんさん、早速の回答ありがとうございます。
>↑この分岐方法だと、ページ1でチェックが入っているものがあるとそれ以外のページでチェックが入っても無効になります(OpのNoの若いものが常に有効)。
ページが変わってもチェックは外れないのですね。
りんさんの回答で疑問が解けました。
>そのフォームにCommandButton2を置いて以下のマクロを記述し、適当にチェックをつけた後にクリックしてみてください。
>Private Sub CommandButton2_Click()
> Dim obj As Object
> For Each obj In Me.Controls
> If TypeName(obj) = "OptionButton" Then
> MsgBox obj.Value & vbCrLf & obj.Parent.Name, vbInformation, obj.Name
> End If
> Next
>End Sub
>
>ページ1〜5まであるとして、
> ・5つとも選ぶ(最大5つ○が入る)
> ・現在表示されているページのものだけ有効(○は一つ)
>どちらでしょうか?
現在表示されているページのものだけ有効で○は一つと考えていますが、
まとめて数回分の出席を入力したい場合に、ページがまたがってしまう事があるのです。
このときに、今の分岐方法ではダメなのだということはわかりました。
前のページのチェックをはずす方法は無いのでしょうか?
上記のマクロを実行しましたが、メッセージボックスにチェックが入っていると
”True”が出ます。
>5つとも選ぶ場合は、上記のようにループでチェックの入ったものを取得し○、1つだけなら、Parent.Nameでページ位置を判定してそこに○・・・という漢字でしょうか。
1つだけなら、Parent.Nameでページ位置を判定してそこに○というようにするには、
どのようにマクロを組んだらよいのでしょうか?
ここまでくると自分の力量ではどうしたらよいのかわかりません。
どうかアドバイスをお願いします。
|
|