Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


33909 / 76734 ←次へ | 前へ→

【48041】Re:マルチページについて
発言  りん E-MAIL  - 07/4/1(日) 10:46 -

引用なし
パスワード
   トムコ さん、おはようございます。


>If OpB1.Value = True Then  'オプションボタン1にチェックがあるとき
>  ST = 1: ReT = 4     ’シート1、列Dを選択 
>ElseIf OpB2.Value = True Then
>  ST = 1: ReT = 7
>ElseIf OpB3.Value = True Then
>  ST = 1: ReT = 10
>ElseIf OpB4.Value = True Then
>  ST = 1: ReT = 13
>ElseIf OpB5.Value = True Then
>  ST = 1: ReT = 16
>ElseIf OpB6.Value = True Then
>  ST = 1: ReT = 19
>ElseIf OpB7.Value = True Then
>  ST = 1: ReT = 22
>ElseIf OpB8.Value = True Then
>  ST = 1: ReT = 25
>ElseIf OpB9.Value = True Then
>  ST = 1: ReT = 28
>       ・
>       ・
>       ・
>End If
>  記録 ’
>End Sub
↑この分岐方法だと、ページ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つ○が入る)
 ・現在表示されているページのものだけ有効(○は一つ)
どちらでしょうか?

5つとも選ぶ場合は、上記のようにループでチェックの入ったものを取得し○、1つだけなら、Parent.Nameでページ位置を判定してそこに○・・・という漢字でしょうか。
1 hits

【48035】マルチページについて トムコ 07/4/1(日) 2:27 質問
【48041】Re:マルチページについて りん 07/4/1(日) 10:46 発言
【48045】Re:マルチページについて トムコ 07/4/1(日) 13:46 お礼
【48046】Re:マルチページについて りん 07/4/1(日) 14:10 回答
【48047】Re:マルチページについて トムコ 07/4/1(日) 15:02 お礼
【48048】Re:マルチページについて りん 07/4/1(日) 18:11 回答
【48052】Re:マルチページについて トムコ 07/4/1(日) 21:02 お礼
【48053】Re:マルチページについて りん 07/4/1(日) 21:34 発言
【48066】Re:マルチページについて トムコ 07/4/2(月) 17:51 お礼

33909 / 76734 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free