|
チェックの入ったチェックボックスに対し
新規でシートを追加するコードです。
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
|
|