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
數據備份