|
一例。
レイアウトは動的作成時に設定するしかないです。
' UserFormにボタンを適当に配置する。
Option Explicit
Private CheckBoxs() As MSForms.CheckBox
Private Sub UserForm_Initialize()
Dim i As Long
Dim num As Long
num = Worksheets("Sheet1").Range("A1").Value
If num <= 0 Then Exit Sub
ReDim CheckBoxs(1 To num)
For i = 1 To num
Set CheckBoxs(i) = Me.Controls.Add("Forms.CheckBox.1", "CheckBox" & i)
With CheckBoxs(i)
.Caption = "CheckBox" & CStr(i)
.Top = 5 + 20 * (i - 1)
.Left = 10
.Height = 15
.AutoSize = True
End With
Next
End Sub
Private Sub CommandButton1_Click()
Dim i As Long
Dim s As String
For i = LBound(CheckBoxs) To UBound(CheckBoxs)
If CheckBoxs(i).Value Then
s = s & CheckBoxs(i).Caption & vbCrLf
End If
Next
If s = vbNullString Then
MsgBox "チェックボックスにはチェックが入っていない"
Else
MsgBox s & "にチェックが入っている"
End If
End Sub
|
|