|
★1、Frame1にCheckBox1〜3を配し、値がTrueの物の番号をFrame1内のLabelに表示
及び、Frame2にCheckBox4〜6を配し、値がTrueの物の番号をFrame2内のLabelに表示場合
先ず、UserFormのデザイン画面で、各CheckBoxのTagプロパティにTrueの時に、
表示する番号を設定して置きます
Option Explicit
Private Sub CheckBox1_Click()
SelectedNum CheckBox1
End Sub
Private Sub CheckBox2_Click()
SelectedNum CheckBox2
End Sub
Private Sub CheckBox3_Click()
SelectedNum CheckBox3
End Sub
Private Sub CheckBox4_Click()
SelectedNum CheckBox4
End Sub
Private Sub CheckBox5_Click()
SelectedNum CheckBox5
End Sub
Private Sub CheckBox6_Click()
SelectedNum CheckBox6
End Sub
Private Sub SelectedNum(cntChek As MSForms.CheckBox)
Dim i As Long
Dim strResult As String
Dim lngLabel As Long
With cntChek.Parent
For i = 0 To .Controls.Count - 1
If TypeName(.Controls(i)) = "CheckBox" Then
If .Controls(i).Value Then
If strResult <> "" Then
strResult = strResult & ","
End If
strResult = strResult & .Controls(i).Tag
End If
Else
If TypeName(.Controls(i)) = "Label" Then
lngLabel = i
End If
End If
Next i
.Controls(lngLabel).Caption = strResult
End With
End Sub
Private Sub UserForm_Click()
End Sub
★2、FuserFormにFrameを配し、その中にOptionButtonのYes、Noの2つを配します
3問なので、Frame1にOptionButton1〜2、Frame2にOptionButton3〜4、Frame3にOptionButton5〜6
を配し、OptionButtonの奇数番をYesとします。
デザイン時に、
各OptionButtonのYesのTagプロパティに&H000000FF&を
NoのTagプロパティに&H80000012&を設定して置きます
UserForm実行時に、OptionButtonをクリックすると、Yesなら其のButtonのFrameのCaptionが赤に
Noなら黒に変わり、ButtonのFrameのTagにYes、Noが入ります
Option Explicit
Private Sub OptionButton1_Click()
GetAnswer OptionButton1
End Sub
Private Sub OptionButton2_Click()
GetAnswer OptionButton2
End Sub
Private Sub OptionButton3_Click()
GetAnswer OptionButton3
End Sub
Private Sub OptionButton4_Click()
GetAnswer OptionButton4
End Sub
Private Sub OptionButton5_Click()
GetAnswer OptionButton5
End Sub
Private Sub OptionButton6_Click()
GetAnswer OptionButton6
End Sub
Private Sub GetAnswer(cntOption As MSForms.OptionButton)
With cntOption
.Parent.ForeColor = Val(.Tag)
.Parent.Tag = .Caption
End With
End Sub
|
|