| 
    
     |  | チェックの入ったチェックボックスに対し 新規でシートを追加するコードです。
 
 A群:チェックボックス1〜5
 B群:チェックボックス6〜10
 追加シート数=A群×B群
 追加シート名:"A群" & "B群"
 
 (例)
 A群選択:チェックボックス1、2
 B群選択:チェックボックス6、8
 追加シート→"16"、"18"、"26"、"28"
 
 以下のコードをつくりましたが、
 結果は追加シート数がA群×B群にならず、
 A群選択数×B群は常に1つ になってしまいます。
 (例)に当てはめていうと→"16"、 "26"
 
 問題点の指摘をお願いします。
 
 
 Sub シート作成()
 Dim a As Variant
 Dim b As Variant
 
 For i = 6 To 10
 If WS.OLEObjects("CheckBox" & i).Object.Value = True Then
 If i = 6 Then
 b = "6"
 ElseIf i = 7 Then
 b = "7"
 ElseIf i = 8 Then
 b = "8"
 ElseIf i = 9 Then
 b = "9"
 Else
 b = "10"
 End If
 End If
 Next i
 
 For i = 1 To 5
 If WS.OLEObjects("CheckBox" & i).Object.Value = True Then
 If i = 1 Then
 a = "1"
 Worksheets.Add(After:=ActiveSheet).Name = a & b
 ElseIf i = 2 Then
 a = "2"
 Worksheets.Add(After:=ActiveSheet).Name = a & b
 ElseIf i = 3 Then
 a = "3"
 Worksheets.Add(After:=ActiveSheet).Name = a & b
 ElseIf i = 4 Then
 a = "4"
 Worksheets.Add(After:=ActiveSheet).Name = a & b
 Else
 a = "5"
 Worksheets.Add(After:=ActiveSheet).Name = a & b
 End If
 End If
 Next i
 
 Worksheets(1).activate
 End Sub
 
 |  |