VBA事件与典型应用案例

Posted xiao-xuan-feng

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了VBA事件与典型应用案例相关的知识,希望对你有一定的参考价值。

with语句的使用

Sub test()
Sheet2.Range("a1") = 6
Sheet2.Range("a2") = 16
Sheet2.Range("a3") = 26
等效
With Sheets
    .Range("a1") = 6
    .Range("a2") = 16
    .Range("a3") = 26
End With
End Sub

设置单元格格式

Sub test() 
Range("a1").Font.Size = 18 #字体大小为18号
End Sub

改单元格背景色

Sub gys()
Cells.Interior.Pattern = xlNone  #先清空所有单元格颜色
Selection.EntireRow.Interior.Color = 65535
End Sub

什么是事件?发生了什么事 自动的去执行这个事 自动运行宏

事件是在每个表里的worksheet :三个常用事件介绍

  1)事件selectionchange

技术图片

 

 

   2)事件change

 

 

技术图片

 

 

 代码解释

Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False #将事件关闭
Range("l1:q10000").ClearContents
Range("a1:f232").AutoFilter Field:=4, Criteria1:=Range("i2")
Range("a1:f232").Copy Range("l1")
Range("a1:f232").AutoFilter
Application.EnableEvents = True 将事件开启
End Sub

技术图片

 

   3)事件activate     

  自动刷新举例说明

 

技术图片

 

  代码  

Private Sub Worksheet_Activate()
ActiveWorkbook.RefreshAll
End Sub

技术图片

 

  workbook 中的事件   beforesave

  自动备份重要文件

  excel中=now()”得到当前时间 然后用 “text("","yyyymmddhhmmss")”更改格式

  在vba中是

Sub ss()
Range("a1") = Format(Now(), "yyyymmddhh")
End Sub

   当前工作簿 可以是 activeworkbook 也可以是 thisworkbok。用下面的方法去保存备份有个问题 就是 执行后 当前的文件编程了1.xlsx 不是你要操作的文件了

 但是用thisworkbook.savecopyas “d:data1.xlsx” 就能避免这样的问题 保存后 还是要操作的文件

Sub ss()
ThisWorkbook.SaveAs "d:data1.xlsx"    
End Sub

  数据备份

 技术图片

 

 技术图片

 

 

技术图片

技术图片

 

 技术图片

 

 技术图片

 

以上是关于VBA事件与典型应用案例的主要内容,如果未能解决你的问题,请参考以下文章

详细实例说明+典型案例实现 对动态规划法进行全面分析 | C++

Android应用程序开发与典型案例pdf

VB6/VBA中跟踪鼠标移出窗体控件事件(类模块成员函数指针CHooker类应用)

Formik官方应用案例解析组件生命周期事件

每个案例的 Excel VBA 发送电子邮件

VBA 帮助触发与输入框相关的事件