### VBA语句集大集合知识点详解 #### 一、VBA基础知识介绍 VBA(Visual Basic for Applications)是一种基于Microsoft Visual Basic的应用程序自动化语言,主要用于Microsoft Office等应用程序的编程扩展。通过VBA,用户可以编写自定义函数、宏和其他自动化任务来提高工作效率。 #### 二、VBA选项设置 1. **`Option Explicit`** - **作用**:强制要求在使用任何变量之前必须先声明。 - **示例**: ```vba Option Explicit Dim myVar As Integer myVar = 10 ``` 2. **`Option Private Module`** - **作用**:将当前模块标记为私有,只能在同一工程中的其他模块中访问。 - **示例**: ```vba Option Private Module Sub MyPrivateSub() ' 只能在同一个工程中的其他模块中调用 End Sub ``` 3. **`Option Compare Text`** - **作用**:设置字符串比较时不区分大小写。 - **示例**: ```vba Option Compare Text If "Hello" = "hello" Then MsgBox "Strings match." End If ``` 4. **`Option Base 1`** - **作用**:设置数组的默认下标起始值为1。 - **示例**: ```vba Option Base 1 Dim myArray(1 To 5) As Integer ``` #### 三、错误处理 5. **`On Error Resume Next`** - **作用**:当遇到错误时,继续执行下一行代码。 - **示例**: ```vba On Error Resume Next Dim i As Integer i = 1 / 0 ' 如果发生除以零的错误,则忽略并继续执行 ``` 6. **`On Error GoTo ErrorHandler`** - **作用**:遇到错误时跳转到预先设定的错误处理段落。 - **示例**: ```vba On Error GoTo ErrorHandler ' 主程序代码 Exit Sub ErrorHandler: ' 错误处理代码 ``` 7. **`On Error GoTo 0`** - **作用**:关闭错误处理,恢复默认的错误处理机制。 - **示例**: ```vba On Error GoTo 0 ' 关闭自定义错误处理 ``` #### 四、界面与更新控制 8. **`Application.DisplayAlerts = False`** - **作用**:关闭程序执行过程中可能出现的警告框。 - **示例**: ```vba Application.DisplayAlerts = False ' 不显示警告框 ``` 9. **`Application.ScreenUpdating = False`** - **作用**:关闭屏幕刷新,提高程序执行效率。 - **示例**: ```vba Application.ScreenUpdating = False ' 执行大量数据操作时提高性能 Application.ScreenUpdating = True ' 恢复屏幕刷新 ``` 10. **`Application.EnableCancelKey = xlDisabled`** - **作用**:禁用通过Ctrl+Break键中断宏的执行。 - **示例**: ```vba Application.EnableCancelKey = xlDisabled ' 禁止使用Ctrl+Break中断宏 ``` #### 五、工作簿操作 11. **`Workbooks.Add()`** - **作用**:创建一个新的空白工作簿。 - **示例**: ```vba Workbooks.Add() ' 创建新的工作簿 ``` 12. **`Workbooks("book1.xls").Activate`** - **作用**:激活指定名称的工作簿。 - **示例**: ```vba Workbooks("book1.xls").Activate ' 激活名为book1的工作簿 ``` 13. **`ThisWorkbook.Save`** - **作用**:保存当前工作簿。 - **示例**: ```vba ThisWorkbook.Save ' 保存当前工作簿 ``` 14. **`ThisWorkbook.Close`** - **作用**:关闭当前工作簿。 - **示例**: ```vba ThisWorkbook.Close ' 关闭当前工作簿 ``` 15. **`ActiveWorkbook.Sheets.Count`** - **作用**:获取活动工作簿中的工作表数量。 - **示例**: ```vba Dim sheetCount As Integer sheetCount = ActiveWorkbook.Sheets.Count ' 获取活动工作簿中工作表的数量 ``` 16. **`ActiveWorkbook.Name`** - **作用**:返回活动工作簿的名称。 - **示例**: ```vba Dim wbName As String wbName = ActiveWorkbook.Name ' 获取活动工作簿的名称 ``` 17. **`ThisWorkbook.Name`** 和 **`ThisWorkbook.FullName`** - **作用**:分别返回当前工作簿的名称和完整路径。 - **示例**: ```vba Dim wbName As String wbName = ThisWorkbook.Name ' 返回当前工作簿名称 Dim wbFullPath As String wbFullPath = ThisWorkbook.FullName ' 返回当前工作簿的完整路径 ``` 18. **`ActiveWindow.EnableResize = False`** - **作用**:禁止调整活动窗口的大小。 - **示例**: ```vba ActiveWindow.EnableResize = False ' 禁止调整活动窗口的大小 ``` 19. **`Application.Window.Arrange xlArrangeStyleTiled`** - **作用**:将多个窗口以平铺的方式排列。 - **示例**: ```vba Application.Window.Arrange xlArrangeStyleTiled ' 将所有窗口平铺排列 ``` 20. **`ActiveWorkbook.WindowState = xlMaximized`** - **作用**:将当前工作簿窗口最大化。 - **示例**: ```vba ActiveWorkbook.WindowState = xlMaximized ' 最大化当前工作簿窗口 ``` #### 六、工作表操作 21. **`ActiveSheet.UsedRange.Rows.Count`** - **作用**:获取当前工作表中已使用的行数。 - **示例**: ```vba Dim usedRows As Long usedRows = ActiveSheet.UsedRange.Rows.Count ' 获取当前工作表中已使用的行数 ``` 22. **`Rows.Count`** - **作用**:获取工作表的总行数。 - **示例**: ```vba Dim totalRows As Long totalRows = Rows.Count ' 获取工作表的行数 ``` 23. **`Sheets("Sheet1").Name = "Sum"`** - **作用**:重命名工作表。 - **示例**: ```vba Sheets("Sheet1").Name = "Sum" ' 将Sheet1更名为Sum ``` 24. **`ThisWorkbook.Sheets.Add Before:=Worksheets(1)`** - **作用**:在指定工作表前添加一个新工作表。 - **示例**: ```vba ThisWorkbook.Sheets.Add Before:=Worksheets(1) ' 在第一张工作表前插入新工作表 ``` 25. **`ActiveSheet.Move After:=ActiveWorkbook.Sheets(ActiveWorkbook.Sheets.Count)`** - **作用**:移动当前工作表到工作簿的最后一张。 - **示例**: ```vba ActiveSheet.Move After:=ActiveWorkbook.Sheets(ActiveWorkbook.Sheets.Count) ' 将当前工作表移动到最后 ``` 26. **`Worksheets(Array("sheet1", "sheet2")).Select`** - **作用**:同时选择多个工作表。 - **示例**: ```vba Worksheets(Array("sheet1", "sheet2")).Select ' 同时选中sheet1和sheet2 ``` 27. **`Sheets("sheet1").Delete` 或 `Sheets(1).Delete`** - **作用**:删除指定的工作表。 - **示例**: ```vba Sheets("sheet1").Delete ' 删除名为sheet1的工作表 Sheets(1).Delete ' 删除第一张工作表 ``` 28. **`ActiveWorkbook.Sheets(i).Name`** - **作用**:获取指定索引号的工作表名称。 - **示例**: ```vba Dim sheetName As String sheetName = ActiveWorkbook.Sheets(i).Name ' 获取索引为i的工作表名称 ``` 29. **`ActiveWindow.DisplayGridlines = Not ActiveWindow.DisplayGridlines`** - **作用**:切换工作表中的网格线显示状态。 - **示例**: ```vba ActiveWindow.DisplayGridlines = Not ActiveWindow.DisplayGridlines ' 切换网格线显示状态 ``` 30. **`ActiveWindow.DisplayHeadings = Not ActiveWindow.DisplayHeadings`** - **作用**:切换工作表中的行列标题显示状态。 - **示例**: ```vba ActiveWindow.DisplayHeadings = Not ActiveWindow.DisplayHeadings ' 切换行列标题显示状态 ``` 31. **`ActiveSheet.UsedRange.FormatConditions.Delete`** - **作用**:删除当前工作表中的所有条件格式。 - **示例**: ```vba ActiveSheet.UsedRange.FormatConditions.Delete ' 删除所有条件格式 ``` 32. **`Cells.Hyperlinks.Delete`** - **作用**:删除当前工作表中的所有超链接。 - **示例**: ```vba Cells.Hyperlinks.Delete ' 删除所有超链接 ``` 33. **`ActiveSheet.PageSetup.Orientation = xlLandscape` 或 `ActiveSheet.PageSetup.Orientation = 2`** - **作用**:将页面设置更改为横向。 - **示例**: ```vba ActiveSheet.PageSetup.Orientation = xlLandscape ' 设置为横向 ActiveSheet.PageSetup.Orientation = 2 ' 同样设置为横向 ``` 34. **`ActiveSheet.PageSetup.RightFooter = ActiveWorkbook.FullName`** - **作用**:在页面设置的右页脚中插入文件的完整路径。 - **示例**: ```vba ActiveSheet.PageSetup.RightFooter = ActiveWorkbook.FullName ' 在右页脚中显示文件路径 ``` 35. **`ActiveSheet.PageSetup.LeftFooter = Application.UserName`** - **作用**:在页面设置的左页脚中插入当前用户的用户名。 - **示例**: ```vba ActiveSheet.PageSetup.LeftFooter = Application.UserName ' 在左页脚中显示用户名 ``` 以上是根据给定的部分内容整理出的VBA语句集知识点详解。这些知识点涵盖了VBA中的一些基本设置、错误处理、界面更新控制以及工作簿和工作表的基本操作等内容,对于初学者来说非常实用且易于理解。通过掌握这些知识点,可以大大提高使用VBA进行Excel自动化编程的能力。
剩余22页未读,继续阅读
- 粉丝: 1
- 资源: 1
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- awewq1132323
- 手写流程图检测31-YOLO(v5至v8)、COCO、CreateML、Darknet、Paligemma、TFRecord数据集合集.rar
- frida拦截微信小程序云托管API
- 肝脏及其肿瘤分割的 CT 数据集,已经切片成jpg数据,约2w张数据和mask
- 基于Java的网上教务评教管理系统的设计与实现.doc
- 2024圣诞节海外消费市场趋势及营销策略分析报告
- JWaaaaaaaaaaaaaaaaaaaa
- Python实现常见排序算法详解
- 等发达地区的无穷大无穷大无穷大请问
- 微藻检测19-YOLO(v5至v11)、COCO、CreateML、Paligemma、TFRecord、VOC数据集合集.rar