VBA 是用于在 Excel 中自动执行任务的强大工具。但掌握 VBA 可能是一个挑战,特别是如果您是编程新手。这就是为什么拥有 Excel 的 VBA 备忘单可以改变游戏规则。作为一名日常 VBA 用户,我知道拥有基本语法、函数、命令和键盘快捷键的快速参考指南的重要性。在本文中,我将与您分享我亲自策划的 Excel VBA 备忘单的免费 PDF 下载,以帮助您编写更高效、更有效的 VBA 代码。
Excel 中的 VBA 是什么?VBA 代表 Visual Basic for Applications,是 Microsoft 开发的一种编程语言。它主要用于在 Microsoft Office 应用程序(包括 Excel)中创建和自动化任务。 VBA 允许用户编写自定义宏和脚本来自动执行重复任务、扩展 Excel 的功能并执行复杂的数据操作。
Excel 中的 VBA 备忘单是什么?Excel 中的 VBA 备忘单是一份参考文档或快速指南,提供了使用 Visual Basic for Applications (VBA) 自动执行任务并在 Excel 中执行各种操作的基本信息、代码片段和提示。对于初学者和经验丰富的 VBA 程序员来说,它都是一个方便的资源,可以快速查找用于编写 VBA 代码的语法、命令和示例。
访问 Excel 的 VBA 备忘单为了帮助您有效且高效地编写 VBA 代码,我整理了 Excel 中最常用的 VBA 代码的列表。虽然此列表并不详尽,但它涵盖了 Excel 用户最常见的需求。您可以下载此 VBA 备忘单或为其添加书签以创建高级程序。这些常用的 VBA 代码将是您的宝贵资源。
VBA 基础知识任务 VBA代码 子程序声明 子例程的子名称() 结束子程序 结束子 留言箱 MsgBox“消息文本” 输入框变量名=InputBox(“提示文本”) 评论 ' 评论文本 打开工作簿工作簿.打开“路径\文件名.xlsx” 关闭工作簿ActiveWorkbook.Close SaveChanges:=True 寻找范围(“A1:B10”).查找(“搜索文本”).选择 范围 范围(“A1”) 选择一个单元格 范围(“A1”).选择 选择范围 范围(“A1:B10”).选择 细胞值 范围(“A1”).值 透明电池范围(“A1”).ClearContents
VBA 中的变量任务 VBA代码 声明变量变暗变量名作为数据类型 为变量赋值 变量名 = 值 动态数组Dim VariableName() 作为数据类型 静态数组昏暗变量名称(开始到结束)作为数据类型 多变量变暗变量 1 作为数据类型,变量 2 作为数据类型,... 全局变量公共变量名作为数据类型 常数Const 常量名称 = 值 布尔值 对或错 整数 -32,768 至 32,767 长的-2,147,483,648 至 2,147,483,647 双倍的-1.79769313486232E+308 至 1.79769313486232E+308 细绳 “文本” 日期#yyyy/mm/dd#
VBA 中的运算符类别 运营商 算术运算符+、-、*、/、^(求幂) 比较运算符=、<、>、<=、>=、<>(不等于) 逻辑运算符 和、或、不 串联运算符& 赋值运算符=自增/自减运算符i = i + 1、i += 1、i -= 1、i = i – 1串联赋值运算符s = s & “新文本”
VBA 中的过程类型过程是执行一项特定任务或一组任务的一组一个或多个指令。 VBA中有两种类型的过程:
1.子程序VBA 中的 Sub 过程是 Sub 和 End Sub 语句包含的一组指令,旨在执行特定任务或一系列任务。与 Function 过程不同,它不返回值。
Sub 过程可以接受参数,例如常量、变量或表达式。如果不需要参数,则 Sub 语句中必须包含一组空括号。
句法
Sub procedureName() 'body of your code End Sub
Visual Basic复制
例子
Sub PrintMessage() MsgBox "Welcome to Excelgraduate!" End Sub
Visual Basic复制
2. 功能流程在 VBA 中,Function 过程是执行特定任务的代码块,与 Sub 过程类似,但具有返回值的附加功能。它包含在 Function 和 End Function 语句中,并且可以采用常量、变量或表达式等参数。
如果 Function 过程没有参数,则其 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复制
VBA 中的循环类型1.VBA中的For循环句法
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复制
2.VBA 中的 Do-While 循环句法
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复制
3.VBA中的While循环句法
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复制
VBA 中的条件语句1. If 语句If Condition Then 'your code End If
Visual Basic复制
2. If-Else 语句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复制
3. 选择案例陈述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 设置单元格格式任务 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 从单元格读取数据变量名 = 范围(“A1”).值 将数据写入单元格范围(“A1”).值=变量名 创建命名范围范围(“A1:C10”).Name =“NamedRange” 删除命名范围名称(“NamedRange”).删除从命名范围读取数据变量名称 = 范围(“NamedRange”).Value将数据写入命名范围范围(“NamedRange”).Value = VariableName
使用 VBA 处理工作表任务 VBA代码 创建工作表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 处理工作簿任务 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”) = “” thenMsgBox “工作簿不存在。”End If复制带有自定义消息的文件FileCopy “C:\Folder\OldWorkbook.xlsx”, “C:\Folder\NewWorkbook.xlsx”MsgBox “工作簿已成功复制。”
使用 VBA 管理文件任务 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循环遍历文件夹中的所有文件和文件夹strFile = Dir(“C:\Data\Reports\2022” & “.”)
使用 VBA 管理设置任务 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 结束于 隐藏状态栏应用程序.DisplayStatusBar = False 显示状态栏应用程序.DisplayStatusBar = True在状态栏中显示自定义消息Application.StatusBar =“您的消息”在状态栏中隐藏自定义消息应用程序.StatusBar = False 隐藏工作簿选项卡ActiveWindow.DisplayWorkbookTabs = False 显示工作簿选项卡ActiveWindow.DisplayWorkbookTabs = True 设置用户名Application.UserName = “我的名字” 设置应用程序标题Application.Caption =“我的应用程序” 设置缩放级别ActiveWindow.Zoom = 90 或任何所需的值
使用 VBA 处理错误任务 VBA代码停止执行并显示错误消息 出错时转到 0忽略错误并继续执行 出错时继续下一步跳转到特定代码段 出错时转到 [标签] 显示自定义错误 错误提高显示错误描述 消息框错误描述 显示错误编号 消息框错误号 重置错误处理 出错时转到 -1
各种各样的任务 VBA代码 创建对象设置对象名称 = CreateObject(“ProgID”) 删除对象 设置对象名称=无 对象属性 对象.属性=值 方法对象.方法(参数1,参数2) 睡觉Application.Wait(Now + TimeValue(“0:00:10”)) (等待 10 秒) 发送密钥Application.SendKeys“TextToType”(键入指定的文本) 调试模式调试.打印“消息文本”
Visual Basic 编辑器快捷键备忘单快捷键 任务 Alt+F11在 Excel 窗口和 Visual Basic 编辑器 (VBE) 窗口之间切换。 Alt+F8显示所有宏的列表。F5执行当前代码块或从上一个暂停点恢复执行。 Alt+F4退出 Visual Basic 编辑器并返回到 Excel 窗口。 Ctrl + 空格键 自动补全一行。 Ctrl + 主页跳转到模块的开头。 Ctrl + 结束跳转到模块末尾。 Ctrl + 右箭头将光标向右移动一个字。 Ctrl + 向左箭头将光标向左移动一个单词。 结尾将光标移至行尾。 家将光标移至行首。Ctrl + A选择当前模块中的所有文本。 Ctrl + 中断停止执行当前正在运行的代码。F8进入调试模式并一次执行一行代码。 标签缩进当前行。Shift + Tab删除当前行的缩进。Shift + F10显示活动窗口的上下文菜单,类似于右键单击。 Ctrl+F查找当前模块中的文本。Ctrl + H替换当前模块中的文本。Ctrl + Y重做上次撤消的操作。 Ctrl+Z 撤消最后一个操作。
Excel 的 VBA 函数备忘单类别 功能 日期和时间函数日期、时间、现在、DateAdd、DateDiff、DatePart、TimeSerial、工作日、年、月、日、小时、分钟、秒、DateValue、TimeValue、DateSerial、TimeSerial、现在、TimeSerial 财务职能FV、PV、NPV、PMT、利率、IRR数学和数字函数Abs、Sqr、Exp、Log、Round、Int、Fix、Mod、Power、Max、Min、Sum、Product、Average、Count、CountA、CountBlank、CountIf、CountIfs、Rand、RandBetween 逻辑函数如果、如果错误、与、或、非、真、假 字符串函数左、右、中、长度、InStr、替换、修剪、LCase、UCase、Str、StrReverse、格式、Chr、Asc 数组函数数组、拆分、连接、过滤、排序查找和参考功能VLookup、HLookup、索引、匹配、选择、偏移 杂项功能消息框、输入框、目录、环境、外壳
Excel 的 VBA 命令备忘单类别 命令 范围和单元格选择范围()、单元格()、ActiveCell、偏移量() 剪贴板 复制粘贴() 工作表和表格工作表()、ActiveSheet、工作表()、保护、取消保护 作业簿工作簿()、ActiveWorkbook、另存为()、打开()、保存、关闭、ThisWorkbook 数据透视表数据透视表()、数据透视图()、数据透视字段()、刷新表()、数据透视表选择()、数据透视布局()、数据透视表向导() 图表ActiveChart、ChartObjects()、SeriesCollection()、ChartTitle、ChartType、SetElement 数据验证DataValidation、ValidationType、InputTitle、InputMessage、ErrorTitle、ErrorMessage、ShowInput、ShowError、InCellDropdown、IgnoreBlank、Formula1、Formula2、添加、修改、删除 各种各样的MsgBox、InputBox、CreateObject、Shell、计时器、Environ、ClearContents()
结论通过保留 VBA 备忘单,您可以快速轻松地访问基本语法、函数、命令和键盘快捷键,以帮助您编写更好的代码。对于任何想要提高 VBA 技能的人来说,此 VBA 备忘单都是一个极好的资源。借助此备忘单,您可以简化工作流程、节省时间并成为更高效的 Excel 用户。