### VBA Excel 编程教程知识点汇总 #### 一、VBA入门知识 **1. 激活工作簿** - 使用 `Workbook.Activate` 方法来激活指定的工作簿。 **2. 创建新工作簿** - 可通过 `Workbooks.Add` 方法创建一个新的空白工作簿。 **3. 打开工作簿** - 使用 `Workbooks.Open` 方法打开已存在的工作簿文件。 **4. 用编号引用工作表** - 例如,`Worksheets(1)` 引用第一个工作表。 **5. 用名称引用工作表** - 如 `Worksheets("Sheet1")` 引用名为 Sheet1 的工作表。 **6. 将文档保存为 Web 页** - 可通过 `Workbook.WebOptions` 属性设置保存为 Web 页的相关选项,然后调用 `Workbook.SaveAs` 方法,将文件格式设为 HTML。 **7. 用 A1 样式的记号引用单元格和单元格区域** - 如 `Range("A1:B2")` 引用 A1 至 B2 区域。 **8. 用编号引用单元格** - 例如 `Range("A1")` 或 `Cells(1, 1)` 都引用 A1 单元格。 **9. 引用行或列** - 如 `Range("A:A")` 或 `Rows("1:1")` 分别引用第 A 列和第 1 行。 **10. 用快捷记号引用单元格** - 例如 `ActiveCell` 或 `Selection` 可以快速引用当前活动单元格或选中的单元格。 **11. 引用命名单元格区域** - 通过 `Names` 集合和 `Names("name")` 来引用预先定义的单元格区域。 **12. 按相对于其他单元格的方式来引用单元格** - 使用 `Offset` 属性,如 `Range("A1").Offset(1, 1)` 可以引用 A1 下方第一行右侧第一列的单元格。 **13. 用 Range 对象引用单元格** - `Range` 对象是最常用的方法之一,可以通过多种方式创建 `Range` 对象来引用单个单元格或多单元格区域。 **14. 引用工作表上的所有单元格** - 通过 `Range("A1:Z1000")` 或 `UsedRange` 属性引用。 **15. 引用若干单元格区域** - 使用多个 `Range` 对象并用逗号分隔,如 `Range("A1:B2", "C1:D2")`。 **16. 在单元格区域中循环** - 使用 `For Each` 循环遍历一个单元格区域中的每个单元格。 **17. 选定和激活单元格** - 使用 `Select` 和 `Activate` 方法来选定或激活特定的单元格。 **18. 处理三维区域** - 三维区域跨越多个工作表,使用 `Union` 函数或通过工作表名称引用来处理。 **19. 处理活动单元格** - 使用 `ActiveCell` 属性来获取或操作当前活动的单元格。 **20. 在工作表上使用 ActiveX 控件** - 通过 `UserForm` 或 `Sheet` 添加 ActiveX 控件,并通过 VBA 脚本控制它们的行为。 **21. 在文档中使用 ActiveX 控件** - 类似于工作表,但针对整个文档进行操作。 **22. 创建自定义对话框** - 可以通过编写自定义 `UserForm` 并将其显示给用户来进行交互式数据输入。 **23. 在窗体上使用 Microsoft Office Web 组件** - 这些组件允许在 Excel 中嵌入 Web 内容,如浏览网页或显示图表。 **24. 内置对话框参数表** - Excel 提供了许多内置对话框,这些对话框可通过调用 `Application.DialogBox` 方法并传入相应的对话框 ID 来显示。 **25. 使用 Microsoft Excel 对象的事件** - 例如 `Workbook_Open`、`Sheet_Change` 等事件可以用来响应各种用户操作。 **26. 在 Visual Basic 中使用 Microsoft Excel 工作表函数** - 可以在 VBA 代码中调用 Excel 的内置函数,如 `SUM`, `IF`, `VLOOKUP` 等。 **27. 处理形状(图形对象)** - 形状包括图片、线条、矩形等,可以通过 `Shapes` 集合进行操作。 **28. 在某一 Microsoft Office 应用程序中控制其他 Microsoft Office 应用程序** - 通过 `CreateObject` 或 `GetObject` 方法来实现跨应用程序的数据交换和自动化。 **29. OLE 程序标识符** - 用于标识特定的 OLE 对象或应用程序。 **30. 关于数字签名** - 数字签名用于确保宏的安全性,防止恶意代码的执行。 **31. 启动 Microsoft Excel 时不运行“自动执行宏”** - 通过设置 Excel 的安全选项来禁止自动运行宏。 **32. 焦点** - 焦点是指当前被激活或选中的元素。 #### 二、了解对象、属性、方法和事件 **1. 了解对象、属性、方法和事件** - 对象是 VBA 中的基本构建块;属性描述对象的状态;方法表示对象可以执行的动作;事件则是在特定条件下发生的动作。 **2. Application 对象** - 代表 Excel 应用程序本身,提供了许多全局可用的方法和属性。 **3. Workbook 对象** - 代表 Excel 工作簿,包含多个工作表。 **4. Workbooks 属性** - `Workbooks` 是一个集合,包含了所有打开的工作簿。 **5. Range 对象** - 代表一个或多个连续的单元格。 **6. Range 属性** - `Range` 对象有许多有用的属性,如 `Value`、`Formula`、`Font` 等。 **7. Cells 属性** - `Cells` 属性返回一个 Range 对象,该对象代表工作表上的指定单元格。 **8. Caller 属性** - 返回调用当前过程的对象。 **9. Offset 属性** - 允许相对于某个单元格移动指定的行数和列数。 **10. Rows 属性** - `Rows` 属性返回一个 Range 对象,该对象代表工作表上的所有行或特定行。 **11. Activate 事件** - 当对象成为活动对象时触发此事件。 **12. Activate、Deactivate 事件** - `Activate` 事件在对象变为活动时发生;`Deactivate` 事件在对象失去活动状态时发生。 **13. Activate 方法** - 使对象成为活动对象。 **14. WorkbookActivate 事件** - 当工作簿变为活动时触发。 **15. WindowActivate 事件** - 当工作簿窗口变为活动窗口时触发。 **16. OnError 语句** - 用于处理运行时错误。 **17. 在工作表上使用 ActiveX 控件** - 可以使用 ActiveX 控件增强用户界面。 **18. Add 方法(Scenarios 集合)** - 用于向 Scenarios 集合添加新的 Scenario 对象。 **19. Scenarios 集合对象** - 代表所有 Scenario 对象的集合。 **20. Add 方法 (Validation 对象)** - 用于向工作表添加数据验证规则。 **21. Validation 对象** - 代表应用于单元格的数据验证规则。 **22. Validation 属性** - 包含有关数据验证规则的信息。 **23. Open 事件** - 当工作簿打开时触发。 **24. Open 方法** - 用于打开工作簿。 **25. Click 事件** - 当用户点击对象时触发。 **26. Close 方法** - 用于关闭工作簿或工作表。 **27. Change 事件** - 当工作表中的单元格内容发生变化时触发。 **28. Value 属性** - 设置或返回单元格的内容。 **29. DblClick 事件** - 当用户双击对象时触发。 **30. SheetBeforeRightClick 事件** - 在用户右键点击工作表前触发。 **31. Select 方法** - 用于选定工作表或单元格。 **32. Select 事件** - 当用户选择单元格时触发。 **33. Goto 方法** - 用于跳转到工作表上的指定位置。 **34. Worksheet 对象** - 代表 Excel 中的工作表。 **35. SheetChange 事件** - 当工作表中的单元格内容变化时触发。 **36. SheetActivate 事件** - 当工作表变为活动工作表时触发。 **37. OpenLinks 方法** - 用于打开与工作簿相关的链接。 **38. Enabled 属性** - 控制控件是否可用。 #### 三、VBA 语法 **(一)VisualBasic 的命名规则** - **写 VisualBasic 语句** - 规定如何编写有效的 VisualBasic 语句。 - **写声明语句** - 用于声明变量、常量或类型。 - **Dim 语句的语法** - `Dim` 语句用于声明变量。 - **Activate 方法的语法** - 使对象成为活动对象的方法。 - **Set 语句** - 用于设置对象引用。 - **MsgBox 函数的语法** - 显示消息框的函数。 - **选项语句的语法** - 用于设置全局选项。 - **AddressOf 运算符** - 返回过程的地址。 - **了解变体** - 一种特殊的动态数据类型。 - **写赋值语句** - 用于给变量赋值。 - **写可执行的语句** - 执行特定操作的语句。 - **Public 语句** - 宣告一个变量、常量或过程在模块中对所有其他模块可见。 - **Private 语句** - 宣告一个变量、常量或过程只对当前模块可见。 - **使用数组** - 数组是一系列相同类型的变量的集合。 - **使用常数** - 常数是在程序运行过程中其值不会改变的量。 - **AppActivate 语句** - 激活指定的应用程序窗口。 - **Beep 语句** - 发出系统蜂鸣声。 - **Date 语句** - 设置或返回日期。 - **Error 语句** - 模拟运行时错误。 - **Exit 语句** - 退出 Sub、Function 或 Property 过程。 - **GoSub Return 语句** - 调用子程序并返回。 - **GoTo 语句** - 转移到程序中的另一个位置。 - **Input# 语句** - 从文件读取数据。 - **Let 语句** - 为对象属性赋值。 - **Load 语句** - 加载控件。 - **Name 语句** - 为对象重新命名。 - **On GoSub、On GoTo 语句** - 控制错误处理流程。 - **Open 语句** - 打开文件。 - **Rem 语句** - 注释代码。 - **Stop 语句** - 停止程序执行。 - **Time 语句** - 设置或返回时间。 - **While Wend 语句** - 控制循环执行。 **(二)逻辑语句** - **If Then Else 语句** - 条件语句,用于根据条件执行不同的代码段。 - **使用 Select Case 语句** - 选择语句,根据表达式的值执行不同代码段。 - **使用 For Next 语句** - 循环语句,用于重复执行一组语句固定次数。 - **ForEach Next 语句** - 循环语句,用于遍历集合中的每一个元素。 - **Do Loop 语句** - 循环语句,重复执行直到满足条件。 - **With 语句** - 简化对对象属性和方法的访问。 **(三)过程** - **写 Sub 过程** - Sub 过程执行特定任务,但不返回任何值。 - **写 Function 过程** - Function 过程执行任务并返回一个值。 - **写 Property 过程** - Property 过程用于创建自定义属性。 #### 四、ActiveX 控件 - **AfterUpdate 事件** - 当控件的值更改后触发。 - **Click 事件** - 当用户点击控件时触发。 - **Click 事件、命令按钮控件、Accelerator 和 Caption 属性示例** - 展示如何使用命令按钮及其相关属性。 - **DblClick 事件** - 当用户双击控件时触发。 - **Error 事件** - 当控件发生错误时触发。 - **KeyDown 和 KeyUp 事件** - 分别在用户按下键盘键时和释放时触发。 - **KeyPress 事件** - 当用户按下并释放一个字符键时触发。 - **MouseDown 和 MouseUp 事件** - 在用户按下鼠标按钮时和释放时触发。 - **MouseMove 事件** - 当鼠标移动时触发。 - **列表框控件** - 显示一个列表项的控件。 - **SpinDown 和 SpinUp 事件** - 在用户单击 Spin 控件的向下或向上按钮时触发。 - **SpinDown、SpinUp 事件和 Delay 属性示例** - 展示如何使用 Spin 控件及其事件和属性。 - **组合框控件** - 一个下拉列表的控件。 - **命令按钮控件** - 用户点击后执行指定操作的控件。 - **标签控件** - 用于显示文本的控件。 - **列表框控件、DataObject 对象、MouseMove 事件和 StartDrag、SetText 方法示例** - 展示如何使用列表框、DataObject 对象和相关方法进行数据拖放操作。
- 粉丝: 2
- 资源: 5
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- coco.names 文件
- (源码)基于Spring Boot和Vue的房屋租赁管理系统.zip
- (源码)基于Android的饭店点菜系统.zip
- (源码)基于Android平台的权限管理系统.zip
- (源码)基于CC++和wxWidgets框架的LEGO模型火车控制系统.zip
- (源码)基于C语言的操作系统实验项目.zip
- (源码)基于C++的分布式设备配置文件管理系统.zip
- (源码)基于ESP8266和Arduino的HomeMatic水表读数系统.zip
- (源码)基于Django和OpenCV的智能车视频处理系统.zip
- (源码)基于ESP8266的WebDAV服务器与3D打印机管理系统.zip