窗体和控件(1)——Excel之VBA(12)

 

一、ActiveX控件

1. ActiveX控件与表单控件的区别

 

需要理解记住的控件:

  • CommandButton (按钮)
  • OptionButton(单选按钮)
  • Label (标签)
  • SpinButton (微调按钮)


2. 按钮控件和标签控件

按钮控件常用属性:

  • Enabled 可用性
  • Caption 标题
  • Visible 可见性

标签控件常用属性:

  • Enabled 可用性
  • Caption 标题
  • Visible 可见性

 


3. 单选按钮控件

单选按钮控件常用属性:

  • Enabled 可用性
  • Caption 标题
  • Visible 可见性
  • Value 返回值
  • GroupName 组名


4. 微调按钮控件

文本框控件常用属性:

  • Enabled 可用性
  • Visible 可见性
  • Value 返回值
  • MIN 最小值
  • MAX 最大值

 

 

小结

本节演示案例:

创建考试系统

示例代码:

Private Sub CommandButton1_Click()
-----------分割线------------------
Call xieru(1) Sheet2.SpinButton1.Value = 1
-----------分割线------------------

End Sub
-------------------------------------------------------
Private Sub CommandButton2_Click()
----------------------------------
Call xieru(8) Sheet2.SpinButton1.Value = 8
-----------------------------------
End Sub --------------------------------------------------------

Private Sub OptionButton1_Click() '记录所选选项 Sheet3.Range("g" & Sheet2.SpinButton1.Value + 1) = "A" End Sub
Private Sub OptionButton2_Click() Sheet3.Range("g" & Sheet2.SpinButton1.Value + 1) = "B" End Sub Private Sub OptionButton3_Click() Sheet3.Range("g" & Sheet2.SpinButton1.Value + 1) = "C" End Sub Private Sub OptionButton4_Click() Sheet3.Range("g" & Sheet2.SpinButton1.Value + 1) = "D" End Sub -------------------------------------------------------- Private Sub SpinButton1_Change() -------------------------------------- Call xieru(Sheet2.SpinButton1.Value) -------------------------------------- End Sub
Sub xieru(i As Integer)

'Sub xieru()

'Dim i As Integer

'i = Sheet2.SpinButton1.Value

With Sheet2

    '清空4个选项
    .OptionButton1.Value = False
    .OptionButton2.Value = False
    .OptionButton3.Value = False
    .OptionButton4.Value = False


    '动态捕捉题目和选项
    .Label2.Caption = i
    .Label3.Caption = Sheet3.Range("a" & i + 1)
    .Label4.Caption = Sheet3.Range("b" & i + 1)
    .Label5.Caption = Sheet3.Range("c" & i + 1)
    .Label6.Caption = Sheet3.Range("d" & i + 1)
    .Label7.Caption = Sheet3.Range("e" & i + 1)
    
    '动态捕捉选项个数
    If .Label6.Caption = "" Then
        .OptionButton3.Visible = False
    Else
        .OptionButton3.Visible = True
    
    End If
    
    If .Label7.Caption = "" Then
        .OptionButton4.Visible = False
    Else
        .OptionButton4.Visible = True
    
    End If
    
    
    '返回加载已选答案
    
    If Sheet3.Range("g" & i + 1) = "A" Then
        .OptionButton1.Value = True
    ElseIf Sheet3.Range("g" & i + 1) = "B" Then
        .OptionButton2.Value = True
    ElseIf Sheet3.Range("g" & i + 1) = "C" Then
        .OptionButton3.Value = True
    ElseIf Sheet3.Range("g" & i + 1) = "D" Then
        .OptionButton4.Value = True
        
    End If
    
    
End With

End Sub

 

 

课后练习

开发自动选题及评分的考试系统

问题:
完成考试系统的最后自动评分部分功能。
要求:
1 点击“结束考试”按钮后,将考生答案与正确答案对比,弹出MSGBOX “共答对多少道题”。
2 点击“结束考试”后禁止再修改考试答案,禁止再次点击“结束考试”按钮。但是允许考生点击微调按钮查看考题和自己之前的答案。

二、窗体

原文地址:https://www.cnblogs.com/zeon/p/14016777.html