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:\data\1.xlsx” 就能避免这样的问题 保存后 还是要操作的文件
Sub ss() ThisWorkbook.SaveAs "d:\data\1.xlsx" End Sub
数据备份
 
 


 
 
 
                     
                    
                 
                    
                

 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号