打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
VBA

Active控件的在设计模式下才能更改,进行操作:按钮主要用到的属性有 caption '按钮什么名字';visible“按钮是否可见”  enable“按钮是否可编辑” 这三个属性值,其余都比较简单常用

Sub test()
Sheet1.CommandButton1.Caption = '结束' '更改名字
Range('a1') = Sheet1.CommandButton1.Caption '将名字赋值给a1
Sheet1.CommandButton1.Top = Sheet1.CommandButton1.Top + Sheet1.CommandButton1.Height '移动
End Sub

  针对commandbutton 按钮主要使用两个事件 click 和 mousemove

Private Sub CommandButton1_Click()
Range('e3') = 8
End Sub
--------------------------------------
Private Sub CommandButton1_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
MsgBox '你指我干嘛'
End Sub

标签控件label:caption主要决定里面写什么内容 其余 enable,visible作用与按钮相同:主要是用来看的不是用来写的,如果需要用户写那就需要文本框

                  文本框

Sub test()
Sheet1.Label1.Caption = '完美'
End Sub

选择按钮OptionButton  这个控件比其他多了两个  GroupName:组名 (这样同样的组名按钮只能选择一个);Value:返回值

        

Sub test()
With Sheet1
    If .OptionButton1.Value = True Then
        MsgBox '你选择的是男'
    ElseIf .OptionButton2.Value = True Then
        MsgBox '你选择的是女'
    Else
        MsgBox '你没有选择'
    End If
End With
End Sub

  它也有自己的事件 主要是click事件

Private Sub OptionButton1_Click()
MsgBox ''
End Sub

微调按钮事件 :没有caption属性,但是有其他,value,min,max 主要属性

Sub xieru()
Range('a1') = Sheet1.SpinButton1.Value
End Sub             '只有在运行的时候才会有值
Private Sub SpinButton1_Change()
Call xieru
End Sub  '使用自己的时间 再点击按钮,值就直接改变了   改变值的范围是 min 到 max

几个控件联合制作一个考试系统

 

Sub xieru()
Dim i As Integer
i = Sheet2.SpinButton1.Value

With Sheet2
    '清空题目
    .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 .Label6.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

sheet2考试界面里的

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
End Sub

写入这个主要是想说明性下带参数的过程的用处:如下如果考试界面多出两个按钮,那么这个时候,使用带参数的过程能省很多代码

最终版

Sub xieru(i)
With Sheet2
    '清空题目
    .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 .Label6.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

sheet2中的按钮

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

 VBA-窗体与控件 :用到了在学习

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
【PPT】你会在PPT里制作具有交互性的单选题吗?
学生基本信息窗体录入VBA代码
VBA选项按钮、复选框、框架、滚动条、微调、图像与多页
(2) VB用户界面设计
VBA窗体之单选和复选框的应用 | VBA实例教程
用PPT中的VBA实现课件中的交互功能 - 扑奔PPT网
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服