欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

VBA进阶

程序员文章站 2022-07-03 21:44:12
...

一、事件过程

-
-事件:事件就是能被对象识别的某个操作。类似于中断程序。
-事件过程:当某个事件发生后进行的过程。
-事件过程必须写在特定对象所在的模块中,而且只有过程所在模块里的对象才能触发这个事件。
*举例:如果要写一个打开workbook就自动运行的过程,我们就要写在workbook对象所在的模块中,而且只有打开该workbook才会触发该过程。
*如何写在特定对象:如果要写在Sheet1对象中,就可以在VBA编辑界面的【工程资源管理】器中双击**该对象所在模块的【代码窗口】
VBA进阶
-事件过程的过程名由Excel自动设置,以“对象名称_事件名称”的形式存在,不能更改。
1.Worksheet事件举例

Private Sub Worksheet_Change(ByVal Target As Range) 'Target的值是改变了值的单元格对象参数
    '当变更单元格的内容时,会弹出下面的对话框
    MsgBox Target.Address & "单元格的值被更改为:" & Target.Value
End Sub

2.WorkBook事件举例

Private Sub Workbook_BeforeClose(Cancel As Boolean) '变量Cancel是程序的参数,如果值为True,则取消关闭工作簿
    If MsgBox("确定一下值历史记录有没有更新,如果选否就取消关闭", vbYesNo) = vbNo Then
        Cancel = True '值为True则取消关闭
    End If
End Sub

3.Application事件举例

'直接写在模块中,每次都要运行InTime过程,可以直接放在Work_Open事件下自动运行
Sub InTime()
    Application.OnTime Now() + TimeValue("00:00:10"), "Timer"
End Sub

Sub Timer()
    MsgBox "可以做一个定时器哦"
End Sub

二、操作界面

控件:分为表单控件和ActiveX控件
一、表单控件
可以在工作表中使用的表单控件:
-按钮:用户执行宏命令
-组合框:提供可选择的多个选项,用户可以选择其中的一个项目
-复选框:雅虎选择的控件,可以多项选择
-数值调节钮:通过单击控件的箭头来选择数值
-列表框:显示多个选项的列表,用户可以从中选择一个选项
-选项按钮:用户选择的控件,通常几个选项按钮用组合框组合在一起使用,在一组中只能同时选择一个选项按钮
-分组框:用户组合其他多个控件
-标签:用于输入和显示静态文本
-滚动水平滚动条和垂直滚动条

2.组合框控件:可以选择值
3.Active控件:制作出控件后,需要写相应的程序。
4.表单控件与Active控件的区别:表单控件用法比较单一,只能在工作表中通过设置控件格式和指定宏来使用,二Active控件拥有很多属性与事件,不但可以在工作表中使用,还可以在用户窗口中使用。

二、对话框
1.InputBox函数:注意参数写入的规则
2.InputBox方法:创建交互对话框。返回类型变多了
3.MsgBox函数:创建输出对话框。注意写入参数的规则。Buttons为按钮样式+提示语的图标+设置按钮的默认值
4.FindFile方法:显示【打开】对话框。参数filefilter设置文件格式的筛选条件,MultiSelect可以选择多个文件。
5.GetSaveAsFilename方法显示另存为对话框。
6.用Application对象的FileDialog属性夺取目录名称

三、调试与优化

非常重要
//ToDo