ActiveX控件与表单控件的区别
- 表单控件只能在excel工作表中添加和使用,插入控件之后,单击右键选择控件,可以设置控件格式和指定宏。
- activex控件不仅可以在工作表中使用,还可以在VBE编辑器用户窗体中使用,同时具备了很多的属性和事件,这些都是表单控件所不具备的,也是表单控件和activex控件最核心的区别所在。
按钮控件
标签控件
单选按钮控件
Sub test()
With Sheet1
If .OptionButton1 = True Then
MsgBox ("你选的小学")
ElseIf .OptionButton2 = True Then
MsgBox ("你选的初中")
ElseIf .OptionButton3 = True Then
MsgBox ("你选的高中")
Else: .OptionButton4 = True
MsgBox ("你选的大学")
End If
End With
End Sub
单选按钮也可以设置点击事件
微调按钮控件
练习 ——考试系统
在sheet1中代码如下
Private Sub CommandButton1_Click()
'结束考试按钮
Dim j, k As Integer
k = 0
For j = 2 To 9
If Sheets("题目").Range("f" & j).Value = Sheets("题目").Range("g" & j).Value Then
k = k + 1
End If
Next
MsgBox ("恭喜你!做对了 " & k & " 道题,你真棒")
End Sub
Private Sub CommandButton2_Click()
'第一题按钮
Call test(1)
Sheet1.SpinButton1.Value = 1
End Sub
Private Sub CommandButton3_Click()
'最后一题按钮
Call test(8)
Sheet1.SpinButton1.Value = 8
End Sub
'把考生选择的答案写入对应区域
Private Sub OptionButton1_Click()
Sheets("题目").Range("g" & Sheet1.SpinButton1.Value + 1) = "A"
End Sub
Private Sub OptionButton2_Click()
Sheets("题目").Range("g" & Sheet1.SpinButton1.Value + 1) = "B"
End Sub
Private Sub OptionButton3_Click()
Sheets("题目").Range("g" & Sheet1.SpinButton1.Value + 1) = "C"
End Sub
Private Sub OptionButton4_Click()
Sheets("题目").Range("g" & Sheet1.SpinButton1.Value + 1) = "D"
End Sub
Private Sub SpinButton1_Change()
'调用主程序
'Sheet1.SpinButton1.Value作为参数
Call test(Sheet1.SpinButton1.Value)
End Sub
在模块中代码
Sub test(i As Integer)
Sheet1.SpinButton1.Max = 8
Sheet1.SpinButton1.Min = 1
'写入数据
With Sheet1
'清空单选按钮
.OptionButton1.Value = False
.OptionButton2.Value = False
.OptionButton3.Value = False
.OptionButton4.Value = False
'写入题目
.Range("a4") = i
.Label3 = Sheets("题目").Range("a" & i + 1)
.Label2 = Sheets("题目").Range("b" & i + 1)
.Label4 = Sheets("题目").Range("c" & i + 1)
.Label5 = Sheets("题目").Range("d" & i + 1)
.Label6 = Sheets("题目").Range("e" & i + 1)
'查看是否有CD两个选项
If .Label5.Caption = "" Then
.OptionButton3.Visible = False
Else
.OptionButton3.Visible = True
End If
If .Label6.Caption = "" Then
.OptionButton4.Visible = False
Else
.OptionButton4.Visible = True
End If
'返回之前的答案
If Sheets("题目").Range("g" & i + 1) = "A" Then
.OptionButton1.Value = True
ElseIf Sheets("题目").Range("g" & i + 1) = "B" Then
.OptionButton2.Value = True
ElseIf Sheets("题目").Range("g" & i + 1) = "C" Then
.OptionButton3.Value = True
ElseIf Sheets("题目").Range("g" & i + 1) = "D" Then
.OptionButton4.Value = True
End If
End With
End Sub