VBA 是用于在 Excel 中自動執(zhí)行任務的強大工具。但掌握 VBA 可能是一個挑戰(zhàn),特別是如果您是編程新手。這就是為什么擁有 Excel 的 VBA 備忘單可以改變游戲規(guī)則。作為一名日常 VBA 用戶,我知道擁有基本語法、函數(shù)、命令和鍵盤快捷鍵的快速參考指南的重要性。在本文中,我將與您分享我親自策劃的 Excel VBA 備忘單的免費 PDF 下載,以幫助您編寫更高效、更有效的 VBA 代碼。
VBA 代表 Visual Basic for Applications,是 Microsoft 開發(fā)的一種編程語言。它主要用于在 Microsoft Office 應用程序(包括 Excel)中創(chuàng)建和自動化任務。 VBA 允許用戶編寫自定義宏和腳本來自動執(zhí)行重復任務、擴展 Excel 的功能并執(zhí)行復雜的數(shù)據(jù)操作。
Excel 中的 VBA 備忘單是一份參考文檔或快速指南,提供了使用 Visual Basic for Applications (VBA) 自動執(zhí)行任務并在 Excel 中執(zhí)行各種操作的基本信息、代碼片段和提示。對于初學者和經驗豐富的 VBA 程序員來說,它都是一個方便的資源,可以快速查找用于編寫 VBA 代碼的語法、命令和示例。
為了幫助您有效且高效地編寫 VBA 代碼,我整理了 Excel 中最常用的 VBA 代碼的列表。雖然此列表并不詳盡,但它涵蓋了 Excel 用戶最常見的需求。您可以下載此 VBA 備忘單或為其添加書簽以創(chuàng)建高級程序。這些常用的 VBA 代碼將是您的寶貴資源。
任務 VBA代碼 子程序聲明 子例程的子名稱() 結束子程序 結束子 留言箱 MsgBox“消息文本” 輸入框變量名=InputBox(“提示文本”) 評論 ' 評論文本 打開工作簿工作簿.打開“路徑\文件名.xlsx” 關閉工作簿ActiveWorkbook.Close SaveChanges:=True 尋找范圍(“A1:B10”).查找(“搜索文本”).選擇 范圍 范圍(“A1”) 選擇一個單元格 范圍(“A1”).選擇 選擇范圍 范圍(“A1:B10”).選擇 細胞值 范圍(“A1”).值 透明電池范圍(“A1”).ClearContents
任務 VBA代碼 聲明變量變暗變量名作為數(shù)據(jù)類型 為變量賦值 變量名 = 值 動態(tài)數(shù)組Dim VariableName() 作為數(shù)據(jù)類型 靜態(tài)數(shù)組昏暗變量名稱(開始到結束)作為數(shù)據(jù)類型 多變量變暗變量 1 作為數(shù)據(jù)類型,變量 2 作為數(shù)據(jù)類型,... 全局變量公共變量名作為數(shù)據(jù)類型 常數(shù)Const 常量名稱 = 值 布爾值 對或錯 整數(shù) -32,768 至 32,767 長的-2,147,483,648 至 2,147,483,647 雙倍的-1.79769313486232E+308 至 1.79769313486232E+308 細繩 “文本” 日期#yyyy/mm/dd#
類別 運營商 算術運算符+、-、*、/、^(求冪) 比較運算符=、<、>、<=、>=、<>(不等于) 邏輯運算符 和、或、不 串聯(lián)運算符& 賦值運算符=自增/自減運算符i = i + 1、i += 1、i -= 1、i = i – 1串聯(lián)賦值運算符s = s & “新文本”
過程是執(zhí)行一項特定任務或一組任務的一組一個或多個指令。 VBA中有兩種類型的過程:
VBA 中的 Sub 過程是 Sub 和 End Sub 語句包含的一組指令,旨在執(zhí)行特定任務或一系列任務。與 Function 過程不同,它不返回值。
Sub 過程可以接受參數(shù),例如常量、變量或表達式。如果不需要參數(shù),則 Sub 語句中必須包含一組空括號。
句法
Sub procedureName() 'body of your code End Sub
Visual Basic復制
例子
Sub PrintMessage() MsgBox 'Welcome to Excelgraduate!' End Sub
Visual Basic復制
在 VBA 中,F(xiàn)unction 過程是執(zhí)行特定任務的代碼塊,與 Sub 過程類似,但具有返回值的附加功能。它包含在 Function 和 End Function 語句中,并且可以采用常量、變量或表達式等參數(shù)。
如果 Function 過程沒有參數(shù),則其 Function 語句中必須包含一組空括號。
句法
Function functionName(argument As DataType) As ReturnType 'body of your code End Function
Visual Basic復制
例子
Function AddNumbers(num1 As Integer, num2 As Integer) As Integer AddNumbers = num1 + num2 End Function
Visual Basic復制
句法
For counter_variable = start_value to end_value 'Statements that you want to run inside the loop Next counter_variable
Visual Basic復制
例子
For i = 1 To 10 Cells(i, 1).Value = i Next i
Visual Basic復制
句法
Do While condition 'Statements that you want to run inside the loop Loop
Visual Basic復制
例子
i = 1 Do While i <= 10 Cells(i, 1).Value = i i = i + 1 Loop
Visual Basic復制
句法
While condition 'Statements that you want to run inside the loop Wend
Visual Basic復制
例子
i = 1 While i <= 10 Cells(i, 1).Value = i i = i + 1 Wend
Visual Basic復制
If Condition Then 'your code End If
Visual Basic復制
If Condition Then 'Code that you want to run if the condition is true Else 'Code that you want to run if the condition is false End If
Visual Basic復制
Select Case Variable Case Value1 'Code that you want to run if variable equals Value1 Case Value2 'Code that you want to run if variable equals Value2 Case Else 'Code that you want to run if the variable does not match any value End Select
Visual Basic復制
任務 VBA代碼 字體范圍(“A1”).Font.Bold = True 或 Range(“A1”).Font.Italic = True 背景顏色Range(“A1”).Interior.Color = RGB(255, 255, 0)(黃色) 邊界范圍(“A1”).Borders(xlEdgeLeft).LineStyle = xlContinuous 結盟范圍(“A1”).HorizontalAlignment = xlCenter
任務 VBA代碼 抵消Range(“A1”).Offset(1, 2).Select(選擇單元格 B2) 隱藏行/列行('1:10').Hidden = True 或列('A:C').Hidden = True 取消隱藏行/列行(“1:10”).Hidden = False 或列(“A:C”).Hidden = False 從單元格讀取數(shù)據(jù)變量名 = 范圍(“A1”).值 將數(shù)據(jù)寫入單元格范圍(“A1”).值=變量名 創(chuàng)建命名范圍范圍(“A1:C10”).Name =“NamedRange” 刪除命名范圍名稱(“NamedRange”).刪除從命名范圍讀取數(shù)據(jù)變量名稱 = 范圍(“NamedRange”).Value將數(shù)據(jù)寫入命名范圍范圍(“NamedRange”).Value = VariableName
任務 VBA代碼 創(chuàng)建工作表Worksheets.Add 或 Worksheets.Add(After:=Worksheets(“SheetName”)) 刪除工作表工作表(“SheetName”).刪除 選擇工作表工作表(“SheetName”).選擇 設置工作表設置 WorksheetVariable = Worksheets(“SheetName”) 激活工作表工作表(“SheetName”).激活 隱藏工作表工作表(“SheetName”).Visible = xlSheetHidden 取消隱藏工作表工作表(“SheetName”).Visible = xlSheetVisible 復制工作表工作表(“SheetName”).復制之前:=工作表(“SheetName2”) 移動工作表工作表(“SheetName”).移至:=工作表(“SheetName2”) 重命名工作表工作表(“SheetName”).Name = “NewName”
任務 VBA代碼 激活工作簿 1工作簿(“Workbook1.xlsx”).激活 獲取活動工作簿名稱MsgBox“活動工作簿是:”&ActiveWorkbook.Name添加工作簿并設置為變量Dim newWb 作為工作簿:設置 newWb = Workbooks.Add打開工作簿并將其設置為變量調暗 wb 作為工作簿:設置 wb = Workbooks.Open(“C:\Folder\Workbook2.xlsx”)關閉工作簿而不保存更改工作簿(“Workbook1.xlsx”).關閉SaveChanges:=False關閉工作簿并保存更改工作簿(“Workbook1.xlsx”).關閉SaveChanges:=True 保存工作簿工作簿(“Workbook1.xlsx”).保存 將工作簿另存為Dim strFileName as String: strFileName = “C:\Folder\NewWorkbookName.xlsx”<br>Workbooks(“Workbook1.xlsx”).SaveAs strFileName使用密碼保護工作簿工作簿(“Workbook1.xlsx”).保護密碼:=“mypassword”使用密碼取消保護工作簿工作簿(“Workbook1.xlsx”).取消保護密碼:=“mypassword”檢查工作簿是否存在If Dir(“C:\Folder\Workbook1.xlsx”) = “” then
MsgBox “工作簿不存在?!?br>End If復制帶有自定義消息的文件FileCopy “C:\Folder\OldWorkbook.xlsx”, “C:\Folder\NewWorkbook.xlsx”
MsgBox “工作簿已成功復制。”
任務 VBA代碼將文件從一個位置復制到另一個位置文件復制“C:\ Data \ OldFolder \ Report_2022_Q1.xlsx”,“C:\ Data \ NewFolder \ Report_2022_Q1_Copy.xlsx” 刪除文件殺死“C:\Data\OldFolder\ObsoleteReport.xlsx” 新建一個文件夾MkDir “C:\Data\NewFolder”刪除文件夾中的所有文件殺死“C:\Data\OldFolder*” 刪除文件夾RmDir“C:\Data\OldFolder”獲取當前目錄strPath = CurDir()獲取當前工作簿的路徑strPath = ThisWorkbook.Path循環(huán)遍歷文件夾中的所有文件和文件夾strFile = Dir(“C:\Data\Reports\2022” & “.”)
任務 VBA代碼關閉屏幕更新應用程序.ScreenUpdating = False 打開屏幕更新應用程序.ScreenUpdating = True 禁用顯示警報應用程序.DisplayAlerts = False 啟用顯示警報應用程序.DisplayAlerts = True 禁用事件應用程序.EnableEvents = False 啟用事件應用程序.EnableEvents = True 忽略文本大小寫 選項比較文本需要變量聲明 選項顯式禁用自動計算應用程序.計算= xlManual啟用自動計算應用程序.計算 = xlAutomatic禁用后臺錯誤檢查
Application.ErrorCheckingOptions.BackgroundChecking = False啟用后臺錯誤檢查
Application.ErrorCheckingOptions.BackgroundChecking = True 隱藏公式欄應用程序.DisplayFormulaBar = False 顯示公式欄應用程序.DisplayFormulaBar = True 進入全屏視圖應用程序.DisplayFullScreen = True切換到分頁預覽ActiveWindow.View = xlPageBreakPreview 切換到普通視圖ActiveWindow.View = xlNormalView 隱藏滾動條With ActiveWindow
.DisplayHorizontalScrollBar = False .DisplayVerticalScrollBar = False 結束于 顯示滾動條使用 ActiveWindow
.DisplayHorizontalScrollBar = True .DisplayVerticalScrollBar = True 結束于 隱藏狀態(tài)欄應用程序.DisplayStatusBar = False 顯示狀態(tài)欄應用程序.DisplayStatusBar = True在狀態(tài)欄中顯示自定義消息Application.StatusBar =“您的消息”在狀態(tài)欄中隱藏自定義消息應用程序.StatusBar = False 隱藏工作簿選項卡
ActiveWindow.DisplayWorkbookTabs = False 顯示工作簿選項卡
ActiveWindow.DisplayWorkbookTabs = True 設置用戶名Application.UserName = “我的名字” 設置應用程序標題Application.Caption =“我的應用程序” 設置縮放級別ActiveWindow.Zoom = 90 或任何所需的值
任務 VBA代碼停止執(zhí)行并顯示錯誤消息 出錯時轉到 0忽略錯誤并繼續(xù)執(zhí)行 出錯時繼續(xù)下一步跳轉到特定代碼段 出錯時轉到 [標簽] 顯示自定義錯誤 錯誤提高顯示錯誤描述 消息框錯誤描述 顯示錯誤編號 消息框錯誤號 重置錯誤處理 出錯時轉到 -1
任務 VBA代碼 創(chuàng)建對象設置對象名稱 = CreateObject(“ProgID”) 刪除對象 設置對象名稱=無 對象屬性 對象.屬性=值 方法對象.方法(參數(shù)1,參數(shù)2) 睡覺Application.Wait(Now + TimeValue(“0:00:10”)) (等待 10 秒) 發(fā)送密鑰Application.SendKeys“TextToType”(鍵入指定的文本) 調試模式調試.打印“消息文本”
快捷鍵 任務 Alt+F11在 Excel 窗口和 Visual Basic 編輯器 (VBE) 窗口之間切換。 Alt+F8顯示所有宏的列表。F5執(zhí)行當前代碼塊或從上一個暫停點恢復執(zhí)行。 Alt+F4退出 Visual Basic 編輯器并返回到 Excel 窗口。 Ctrl + 空格鍵 自動補全一行。 Ctrl + 主頁跳轉到模塊的開頭。 Ctrl + 結束跳轉到模塊末尾。 Ctrl + 右箭頭將光標向右移動一個字。 Ctrl + 向左箭頭將光標向左移動一個單詞。 結尾將光標移至行尾。 家將光標移至行首。Ctrl + A選擇當前模塊中的所有文本。 Ctrl + 中斷停止執(zhí)行當前正在運行的代碼。F8進入調試模式并一次執(zhí)行一行代碼。 標簽縮進當前行。Shift + Tab刪除當前行的縮進。Shift + F10顯示活動窗口的上下文菜單,類似于右鍵單擊。 Ctrl+F查找當前模塊中的文本。Ctrl + H替換當前模塊中的文本。Ctrl + Y重做上次撤消的操作。 Ctrl+Z 撤消最后一個操作。
類別 功能 日期和時間函數(shù)日期、時間、現(xiàn)在、DateAdd、DateDiff、DatePart、TimeSerial、工作日、年、月、日、小時、分鐘、秒、DateValue、TimeValue、DateSerial、TimeSerial、現(xiàn)在、TimeSerial 財務職能FV、PV、NPV、PMT、利率、IRR數(shù)學和數(shù)字函數(shù)Abs、Sqr、Exp、Log、Round、Int、Fix、Mod、Power、Max、Min、Sum、Product、Average、Count、CountA、CountBlank、CountIf、CountIfs、Rand、RandBetween 邏輯函數(shù)如果、如果錯誤、與、或、非、真、假 字符串函數(shù)左、右、中、長度、InStr、替換、修剪、LCase、UCase、Str、StrReverse、格式、Chr、Asc 數(shù)組函數(shù)數(shù)組、拆分、連接、過濾、排序查找和參考功能VLookup、HLookup、索引、匹配、選擇、偏移 雜項功能消息框、輸入框、目錄、環(huán)境、外殼
類別 命令 范圍和單元格選擇范圍()、單元格()、ActiveCell、偏移量() 剪貼板 復制粘貼() 工作表和表格工作表()、ActiveSheet、工作表()、保護、取消保護 作業(yè)簿工作簿()、ActiveWorkbook、另存為()、打開()、保存、關閉、ThisWorkbook 數(shù)據(jù)透視表數(shù)據(jù)透視表()、數(shù)據(jù)透視圖()、數(shù)據(jù)透視字段()、刷新表()、數(shù)據(jù)透視表選擇()、數(shù)據(jù)透視布局()、數(shù)據(jù)透視表向導() 圖表ActiveChart、ChartObjects()、SeriesCollection()、ChartTitle、ChartType、SetElement 數(shù)據(jù)驗證DataValidation、ValidationType、InputTitle、InputMessage、ErrorTitle、ErrorMessage、ShowInput、ShowError、InCellDropdown、IgnoreBlank、Formula1、Formula2、添加、修改、刪除 各種各樣的MsgBox、InputBox、CreateObject、Shell、計時器、Environ、ClearContents()
通過保留 VBA 備忘單,您可以快速輕松地訪問基本語法、函數(shù)、命令和鍵盤快捷鍵,以幫助您編寫更好的代碼。對于任何想要提高 VBA 技能的人來說,此 VBA 備忘單都是一個極好的資源。借助此備忘單,您可以簡化工作流程、節(jié)省時間并成為更高效的 Excel 用戶。
聯(lián)系客服