蓝布编程网

分享编程技术文章,编程语言教程与实战经验

零基础快速入门VBA系列 7 —— 事件 + 聚光灯和欢迎窗程序

上一节,我介绍了Excel三大对象的属性和方法,并用一个程序介绍了VBA如何操作对象。

这一节,我继续用简单通俗的话,来介绍 Excel 对象事件,并提供2个实用的VBA程序:聚光灯和欢迎窗。

Excel 对象事件

举一个简单的例子,你就懂了什么是Excel对象的事件。

工作簿这个对象被打开,这就是工作簿对象的一个事件。

针对这个事件的发生,你可以自定义要做什么。

例如,在这个事件过程中,执行你指定的操作,或者调用一个或多个程序或函数。

事件与一般过程或函数的区别在于:事件无需手动执行,只要条件满足就自动触发执行。

今天我将通过2个简单又非常实用的VBA程序,介绍如何快速学会事件。

实用VBA程序的运行效果

1. 欢迎窗

每次打开工作簿将自动弹出如下欢迎窗:

欢迎窗

2. 聚光灯

在具备聚光灯程序代码的工作表内,选择任意的单元格,其对应行和列都将高亮为黄色。更换选择单元格,聚光灯会跟随选择的单元格移动。在表格比较大、内容比较多的时候,就能快速查看到所选单元格对应的行或列中的其他内容。非常方便。

聚光灯

VBA程序代码

1. 欢迎窗程序:将下面的代码贴入Thisworkbook。

Thisworkbook 代码

2.聚光灯程序:将下面的代码贴入Sheet1。

Sheet1 代码

'欢迎窗程序
'打开工作簿后触发执行:
Private Sub Workbook_Open()
    '弹出消息框,提示如下信息
    MsgBox "你好!" & Environ("username") & vbCrLf _
        & "现在是" & Format(Now, "yyyy年mm月dd日 hh:mm aaaa") & vbCrLf _
        & "您已打开文件:" & ThisWorkbook.Name & vbCrLf _
        & "当前工作表:" & ActiveSheet.Name & vbCrLf
End Sub
' 聚光灯程序:
Private rngPreSelection As Range
' 工作表选择对象变化后触发执行:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    On Error Resume Next
    ' 开启聚光灯效果:    
    ' 先删除先前的聚光灯
    ' 消除先前选择单元格所在列的背景色
    Columns(rngPreSelection.Column).Interior.Pattern = xlNone
    ' 消除先前选择单元格所在行的背景色
    Rows(rngPreSelection.Row & ":" & rngPreSelection.Row).Interior.Pattern = xlNone
    ' 开启新的聚光灯
    ' 设置当前选择单元格所在列的背景色=黄色
    Columns(Target.Column).Interior.Color = 65535
    ' 设置当前选择单元格所在行的背景色=黄色
    Rows(Target.Row & ":" & Target.Row).Interior.Color = 65535
    ' 记录当前选择单元格
    Set rngPreSelection = Target
End Sub

结语

亲手练习一下上面的欢迎窗聚光灯程序,就可快速掌握Excel VBA 的事件

你学会了吗?

待续。

<script type="text/javascript" src="//mp.toutiao.com/mp/agw/mass_profit/pc_product_promotions_js?item_id=7479054817210417702"></script>
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言