日常工作中,我们经常会通过VBA写一些小工具,来提高工作效率,先罗列于此,以便日后查看。
Sub CreateTemplate()
'关闭屏幕更新(提高一系列操作过程中的性能)
Application.ScreenUpdating = False
'取得指定的工作簿
Dim currentSheet As Worksheet
Set currentSheet = ThisWorkbook.Sheets("xxxxx")
'有效数据的最大行号
Dim currentSheetMaxDataRowNumber As Variant
currentSheetMaxDataRowNumber = currentSheet.Cells.Find("*", SearchOrder:=xlByRows, LookIn:=xlValues, SearchDirection:=xlPrevious).EntireRow.row
'指定行的有效数据的最大列号
Dim headDataColumnNumber As Variant
headDataColumnNumber = currentSheet.Range("A6:Z6").Cells.Find("*", After:=[A6], SearchOrder:=xlByColumns, LookIn:=xlValues, SearchDirection:=xlPrevious).EntireColumn.Column
'调用类
Dim SampleClassModuleField As SampleClassModule
Set SampleClassModuleField = New SampleClassModule
SampleClassModuleField.SampleMethod
'For循环
Dim rowIndex As Variant
For rowIndex = 10 To currentSheetMaxDataRowNumber
Next
'For Each循环
Dim ws As Worksheet
For Each ws In ThisWorkbook.Worksheets
'Select Case
Select Case ws.Name
Case "Summary", "Employees", "Project Rules"
'do nothing
Case Else
'do something
End Select
Next ws
'打开屏幕更新
Application.ScreenUpdating = True
'设置状态栏中的文字
Application.StatusBar = "处理完了"
'显示消息的对话框
MsgBox "XXX处理结束。"
End Sub