| 
    
     |  | トムコ さん、こんばんわ。 
 >上記のマクロに、○を記入するマクロを組み込めばよいのでしょうか?
 If   OpB1.Value = True Then
 ST = 1: ReT = 4
 ElseIf OpB2.Value = True Then
 ST = 1: ReT = 7
 ElseIf OpB3.Value = True Then
 ST = 1: ReT = 10
 ・
 ・
 ・
 
 ○を記入するマクロが「記録」と考えて、最初の分岐を組み込んで有効だったら記録をCallします。
 また、オプションボタンのオブジェクト名がOpB*で、列番号が3つおきのようなので、オブジェクト名から列番号を計算しています。
 
 Private Sub CommandButton2_Click()
 Dim obj As Object
 Dim PP(0 To 5) As String
 '
 For Each obj In Me.Controls
 Select Case UCase(TypeName(obj))
 Case "MULTIPAGE"
 NN% = obj.Value
 Case "OPTIONBUTTON"
 'Trueの時は配列に確保
 If obj.Value = True Then
 PP(obj.Parent.Index) = obj.Name
 End If
 End Select
 Next
 '結果表示(チェックされたものが無ければ空白が返ります)
 If PP(NN%) = "" Then
 MsgBox "チェックを入れてからクリックしてね", vbExclamation
 Else
 '列番号計算
 Ret = Val(Replace(UCase(PP(NN%)), "OPB", "")) * 3 + 1
 St = 1 'これは分岐しなくていいのかな?
 If Ret > 1 Then
 MsgBox Ret, vbInformation, PP(NN%) 'Retの計算結果
 '
 記録 '記録をよぶならここ
 Else
 MsgBox PP(NN%), vbExclamation, "オブジェクト名確認"
 End If
 End If
 Erase PP
 End Sub
 
 こんな感じです。
 
 |  |