适用于 windows 和 mac 的 excel visual basic 编辑器

关键点

  • Visual Basic 编辑器是 VBA 的代码编辑器。
  • 这是一个单独的应用程序,但您只能将其与 Excel 一起使用。
  • 您必须在功能区上具有“开发人员”选项卡才能访问它。
  • 您还可以使用键盘快捷键(Alt + F11)。
  • 它还存储您使用宏记录器重新编码的宏。
  • 它有几个工具可以帮助您编写和管理所有代码。

VBA 的世界始于 Visual Basic 编辑器 (VBE)。

这是您编写和管理所有宏代码的地方,如果您问我有关 VBE 的问题,我会说如果您真的想学习 VBA,您需要了解 VBE 的所有组件。

这就是为什么这是我们的VBA 教程的一部分,在本指南中,我们涵盖了 Visual Basic 编辑器的所有方面,以便您了解其功能。

那么,让我们开始吧。

我将在本指南中使用不同的词语(VBA 编辑器、VB 编辑器或 VBE)来指代 Visual Basic 编辑器,因此请不要混淆。

什么是 Visual Basic 编辑器?

Visual Basic 编辑器是一个(独立的)应用程序,您可以在其中编写和保存所有 VBA 代码。简单来说,它是一个 Excel 代码编辑器,您可以在其中编写所有宏并存储它们。尽管它是一个单独的应用程序(VB 编辑器),但您只能将其与 Excel 一起使用。

对,是真的。您不能单独运行VBE;必须打开 Excel 工作簿才能使用 VBE。

Visual Basic 编辑器是在 Excel 中编写 VBA 代码的唯一方法。事实上,所有托管 VBA 的 Microsoft 应用程序都使用 Visual Basic 编辑器来编写脚本(编写代码)。

下面是VBE:

微软Windows

vbe窗口

苹果

Visual Basic 编辑器 Mac

VBA 是高级 EXCEL 技能之一,掌握 VBA;您必须学习 Visual Basic 编辑器的所有方面。

打开 Visual Basic 编辑器

从开发者选项卡

要打开 Visual Basic 编辑器,您必须在功能区上具有“开发人员”选项卡并启用“开发人员”选项卡(要添加的步骤)。

开发者选项卡

现在,在开发人员选项卡上的代码组中,有一个名为“Visual Basic”的按钮,当您单击此按钮时,它将打开 VB 编辑器。

基本视觉按钮

快捷键(窗口)

您还可以使用键盘快捷键Alt + F11在 Windows 中打开 VBE,在 MAC 中使用 Opt + F11或 Fn + Opt + F11。

即使功能区上没有开发人员选项卡,此快捷键仍然可以使用并打开编辑器。

从列表中编辑宏

如果要打开 VBA 编辑器来编辑特定宏,可以从开发人员选项卡打开宏列表。

修改列表宏

然后单击编辑按钮打开VB编辑器来编辑这个特定的宏。

编辑按钮打开 vb 编辑器

在快速访问工具栏中

您还可以在快速访问工具栏上添加一个按钮来打开 VBA 编辑器。为此,您需要单击快速访问工具栏上的下拉菜单并打开其他命令。

快速访问栏

然后在“选择命令”中选择开发人员选项卡,然后单击“添加”按钮将基本可视化编辑器添加到快速访问工具栏。

开发人员选项卡选择命令

现在,您可以通过 QAT 上的按钮打开 Visual Basic 编辑器。

快速访问栏

从电子表格选项卡

您还可以通过右键单击工作表选项卡并单击显示代码来打开 VBA 编辑器。这将立即将您带到此工作表的代码窗口。

电子表格选项卡

Visual Basic 编辑器组件

当您第一次打开 VBA 编辑器时,它看起来像一个旧的应用程序,要了解它的工作原理,您必须逐个组件地进行操作。

组件-视觉-基本-编辑器

15 年来,所有版本的 Excel 的用户界面(几乎)都是相同的,因此无论您使用哪个版本的 Excel,您都可以从本指南中了解有关 Visual Basic 编辑器的更多信息。是的,VBE 有不同的组件可以以不同的方式帮助您,所以让我们一一探讨它们。

  1. 工具栏
  2. 工具栏
  3. 项目窗口
  4. 属性窗口
  5. 窗口代码
  6. 即时窗口
  7. 监控窗口
  8. 对象浏览器
  9. 查找和替换
  10. 本地窗口

1. 酒吧菜单

与任何其他应用程序一样,VBA 编辑器有一个菜单栏,您可以在其中找到用户可用的所有选项。

VBA 编辑器菜单

现在,在菜单栏中,每个选项卡都是一类可用选项。假设在编辑菜单中您可以看到剪切-复制-粘贴、查找和替换以及添加缩进和下缩进的所有选项。

菜单栏选项卡选项

对于所有选项(大多数),您都可以找到使用这些选项的快捷键。

2. 工具栏

菜单栏下方有工具栏,它是普通用户应该更频繁使用的一些选项的集合。当您第一次打开 Visual Basic 编辑器时,您将只有标准工具栏,如下图所示。

工具栏

但您可以添加和使用总共四个工具栏。

  1. 调试
  2. 修改
  3. 标准
  4. 用户表格

如果转到菜单栏中的“视图”选项卡,您可以选择添加或删除这些工具栏。

工具栏选项卡选项

如果需要,您还可以在工具栏中添加或删除按钮。

添加或删除工具栏按钮

您还可以通过拖放右侧的小点来移动工具栏。

从小点拖放

3. 项目窗口/项目资源管理器

您可以在“项目”窗口中查看所有当前项目。每当您打开一个文件,然后打开 Visual Basic 编辑器时,您都可以在“项目”窗口中看到该文件的层次结构。

项目窗口

每个项目另外还有一个对象集合:

  • 工作表:工作簿中的每个工作表都作为一个对象列出。
  • 工作簿:它将工作簿本身表示为一个对象。
  • 模块:这是您编写代码或存储录制的宏的地方。
  • 图表表:工作簿的图表表也将在那里列出。
对象集合

当您打开 VB 编辑器时,您将在那里找到默认的项目窗口。但如果它不存在,您可以从视图(菜单栏)添加它,或者您可以使用 Control + R 热键。

“项目”窗口中列出的每个对象都有自己的代码窗口,您可以通过双击它或右键单击并选择“显示代码”选项来打开该窗口。

选择查看代码

项目窗口是导航所有当前项目的最佳方式,当您开始使用编辑器时,您将了解更多信息。

4. 属性窗口

顾名思义,属性窗口使您可以访问所选对象的属性。每个对象(例如电子表格)都有自己的属性,您可以查看和更改这些属性。

窗口属性

对于每个属性,右侧都有一个下拉列表,您可以从中更改或修改该属性。

属性下拉列表

小提示:您可以从属性窗口修改项目的名称。

更改项目名称

而且,如果默认情况下属性窗口不存在,您可以从视图(菜单栏)激活它,也可以使用 F4 热键。

快捷键 F4 键

5. 代码窗口

代码窗口是您编写代码和完成大部分工作(编辑、编写和测试)的地方。简而言之,代码窗口是您进行所有编程的地方。

代码窗口

当你第一次看到它时,它看起来像一个简单的文本编辑器,但它具有智能感知功能,可以在编程时为你提供帮助。

我还没有找到像其他代码编辑器那样在代码窗口中添加行号的方法,但是VB编辑器总是显示代码的行号。

笔记
我还没有找到像其他代码编辑器那样向代码窗口添加行号的方法,但 VB 编辑器仍然会告诉您代码的行号。

6. 即时窗口

您可以在立即窗口中调试代码。您可以键入一行代码并测试其工作原理。假设您要测试以下代码:

 Range("A1").Value = 9999

您所要做的就是输入,输入问号,然后将代码粘贴到此处并按 Enter 键。它将立即显示代码结果。

即时窗口

另一种方法是在代码前添加 Debug.Print 并在立即窗口中获取其结果值。

 Sub Macro1() Debug.Print Range("A1").Value = "Yes" End Sub
添加-调试-打印

默认情况下,当您打开 Visual Basic 编辑器时,即时窗口不会出现,因此您需要从菜单栏的“视图”选项卡启用它。您还可以使用 Control + G 快捷键。

7. 监控窗口

就像Excel 监视窗口一样,Visual Basic 编辑器也有一个监视窗口,您可以在其中添加表达式来跟踪它们。只需选择表达式,然后右键单击并添加监视即可。

观察窗

在下面的示例中,我将 Selection.Value 添加到附加监视中。

52-added-the-selection.value_

现在,要启用监视窗口,请转到“视图”菜单并单击监视窗口选项。

53-手表窗口选项

这里有一个监视窗口,位于添加的表达式之后。

54-手表窗口跟踪

8. 对象资源管理器

VBA 有自己的对象浏览器,可以通过查找可以使用的所有属性来帮助您处理所有对象。

对象浏览器

想象一下,如果您想使用范围对象,对象浏览器将向您显示它附带的所有属性和方法。看下面的例子。

范围对象浏览器

要打开对象浏览器,请使用F2快捷键,或者也可以转到视图选项卡并单击对象浏览器将其打开。

9. 查找和替换

就像 Excel 中的查找和替换一样,VBA 编辑器有自己的查找和替换选项,您可以使用它来查找和替换过程中的值。要打开“查找”选项,您可以使用热键 Control + F,要打开替换选项,您可以使用热键 Control + H。

否则,您可以从编辑菜单中打开这两个选项。

查找和替换

VBE 中的查找和替换选项为您提供了不同的搜索模式,例如,如果您想要查找并替换当前过程、当前模块或当前项目中的某些内容。

您还可以使用区分大小写的搜索并决定搜索方向。

10. 本地窗口

您可以使用 VBE 中的“局部变量”窗口来查看当前过程中声明的所有变量及其当前值。

使用VB编辑器编写代码

至此,您已经了解了 VBA 编辑器的所有主要组件,现在让我们学习如何向其添加代码。

模块代码窗口与目标代码窗口

有两种不同类型的 Windows 代码,两者看起来都很相似,但您应该知道一个区别。

  1. 模块代码窗口:普通模块代码可以手动运行,也可以从单独的过程中调用它。
  2. 目标代码窗口:可以使用事件执行目标代码窗口中的代码。假设您想在双击单元格时运行一些代码。在这种情况下,您需要使用双击事件,并且需要向该工作表添加一些代码。

2. 代码窗口模块

您将在模块中编写大部分 VBA 代码。要将代码添加到模块,必须使用 SUB 过程或 FUNCTION 过程。

  • 子程序
  • 功能流程

子过程和函数过程之间的区别在于子过程不能返回值,而函数过程可以返回值。

当您录制宏时,该代码会直接进入 VBA 在您使用宏录制器时自动插入的模块。

模块插入

当您需要编写代码时,您需要插入一个模块,为此您只需转到项目窗口并右键单击项目名称,然后从该菜单中转到“插入”并选择该模块。

模块插入

删除模块

如果不再需要某个模块,您也可以将其删除,因此只需右键单击该模块并选择“删除”即可。

删除一个模块

当您单击删除时,它会询问您是否要在删除之前保存该模块。还有一个选项可以导出模块以将其保存为系统中的文件。

3. 目标代码窗口

要打开对象的代码窗口,您只需双击它,在代码窗口中有一个下拉列表,您可以从中选择要用于运行代码的事件。

模块对象

想象一下,如果您要编写代码并希望执行双击,则必须从下拉列表中选择“Before DoubleClick”。

设计模式、执行模式和调试模式概述

根据编程、编写代码、定位错误和更正错误的情况,您可以以三种不同的模式使用 Visual Basic 编辑器。

  • 设计模式:通常,当您在 VB 编辑器中处理代码时,您处于设计模式。即使这样,您也只是编写代码而不是设计用户表单或表单,您仍处于设计模式,就像键入代码一样。这也称为设计时间。
  • 执行模式:当您运行代码来测试像这样工作的代码时,您就处于执行模式。设置此模式的最佳示例是使用工具栏上的“运行”按钮运行代码时。这也称为执行时间。
  • 暂停模式:当代码正在运行并且执行暂停时,此时您处于暂停模式。在这种模式下,您可以逐步执行代码。这也称为调试。

像专业人士一样使用 VB 编辑器的技巧

给代码添加注释

与 VBA 中的任何其他编程语言一样,您也可以使用注释来定义此代码的工作方式。使用评论是一个好习惯,它可以在很多方面为您提供帮助。

  • 跟踪变化
  • 计划联系方式
  • 如何排查代码问题
  • 以及更多

要添加注释,您必须键入撇号,然后键入代码行。

相关提示VBA 注释块

快速信息

现在看下面的示例,其中我添加了一个VBA 函数VBA LEFT Function ),当我键入函数名称时,它会显示一个工具提示,其中包含我需要定义的所有参数。

31-快速信息

您还可以使用 Control + I 热键或使用“编辑”菜单中的“快速信息”选项。

32-热键-control-i

自动列出会员

VBA 中的每个对象都带有属性和方法,当您将对象或命令插入到代码窗口中然后输入 (.) 时,它会显示该对象附带的属性和方法的完整列表。

自动列出成员

在上面的示例中,当我在范围的 border 属性后面添加 (.) 时,它向我显示了所有可用的可访问属性。

常量列表

定义属性或方法的表达式时,可以使用可用常量列表。在下面的示例中,当使用“Border around”方法时,它向我显示了可用于权重参数的所有常量。

列表常量

您可以使用 Control + Shift + J 热键获取常量列表,也可以转到编辑菜单并使用其中的选项。

快捷键-control-shift-j

启用显式选项

在编写 VBA 代码时,您将需要使用变量,而使用变量时最重要的事情之一就是声明其数据类型。并且您可能忘记声明它。

但是,当您使用显式选项语句时,必须声明所使用的每个变量的数据类型,如果不这样做,VBA 将显示错误消息。这就像强迫自己用其数据类型声明每个变量。为此,您可以转到工具菜单并打开选项。

显式激活选项

在选项中,选中“需要变量声明”框,然后单击“确定”。

强制变量声明

现在,每个模块在开头都会有一个 Option Explicit 语句,并且您必须声明每个变量。

显式选项

更改代码窗口显示

当您可以在单个代码窗口中编写多个代码并且 VBA 使用分隔符将它们分隔开时,但如果您希望获得更集中的视图,则可以更改代码窗口视图。下面我将代码放在一个模块中。

更改窗口视图代码

但我可以通过窗口左下角的视图按钮更改此视图。

现在只有活动代码可见。

逐步运行代码

当您编写 VBA 代码时,该代码可能包含执行时可能发生的错误或错误。在这种情况下,最好的方法是逐步运行此代码并验证每一行代码。

逐步运行代码

为此,您可以使用 F8 快捷键逐行执行代码或使用调试菜单中的单步执行选项。

快捷键 f8 执行一行代码43 快捷键 f8 执行一行代码

调试工具栏上还有一个按钮可供您使用。

调试工具栏按钮

代码缩进

当您编写又长又复杂的代码时,以正确的方式构建它们非常重要,以便您以后可以理解它们。为此,有一个东西可以派上用场:INDERTING。缩进基本上是使用制表符构建代码,下面是一个示例。

代码缩进

要在行中添加缩进,可以使用键盘上的 TAB 键,也可以使用工具栏上的缩进/负缩进按钮。

缩进按钮

从文本文件中获取代码

Visual Basic 编辑器允许您从文本文件导入 VBA 代码,而无需复制和粘贴。插入模块后,您可以转到插入菜单并从那里选择文件选项。

获取文本文件的代码

它会打开一个对话框,您可以在其中找到文本文件并将所有代码从中导入到当前模块中。

参考款式R1C1

如果您曾经使用过 R1C1 参考样式,我相信您会同意这一点,以便更轻松地使用它编写代码。

参考款式R1C1

越线

尽管您可以调整代码窗口的宽度并使其变大,但有时您处理的代码行可能会使其难以阅读。

解决此问题的最佳方法是添加换行符。基本上,换行符是指使用换行符将一行分成两行。

使用空格和下划线并按 Enter 键添加换行符。

越线

布局

当谈到用户界面时,Visual Basic 编辑器看起来不太好。但是,您可以使用一些格式选项来自定义它或按照您想要的方式更改其外观。

从“工具”菜单选项编辑器格式,您可以转到格式设置选项,您还可以在其中更改字体样式大小或背景颜色。

格式选项 50

观看有关为深色主题自定义 VBA 编辑器的视频

个人宏工作簿

您使用的任何工作簿中可能都需要访问宏。

在这种情况下,您可以使用个人宏绑定程序,它可以帮助您将所有重要代码存储在一个位置,并且您可以从所有工作簿访问它们。

55-宏-个人-活页夹

使用书签

Visual Basic 编辑器允许您通过右键单击切换书签向行添加书签。

56 次使用书签

然后,您还可以从编辑菜单选项在书签之间导航。

57-在书签之间导航

语法检查

当您在代码窗口中编写代码时,VBA 会检查语法错误并在出现语法错误时发出警告。默认情况下启用此选项,但如果您不希望 VBA 在每次犯错时都警告您,也可以禁用它。

工具菜单➤ 选项➤ 编辑器选项卡➤ 自动语法检查。

58-语法检查

但我不建议禁用它,因为它可以帮助您识别编写代码时犯的所有语法错误。

宏列表

如果模块中有很多宏,您可以使用一个选项来查看所有宏(工具➤宏)。

59-宏列表

使用此列表选项的一大优点是您可以运行宏、删除它和修改它,而无需执行此过程。

使用密码锁定项目

Visual Basic 编辑器还使您能够使用密码锁定模块。所以如果你不想让用户知道代码而不修改它,你可以使用这个选项。

用密码锁定项目

工具菜单 ➤ VBAProject 属性 ➤ 保护选项卡

vba项目属性

重要的快捷键

  • Shift + F7 :对象浏览器。
  • F5 :运行宏。
  • Tab :添加缩进。
  • Alt + Q :关闭。
  • F8 :输入。
  • Control + H :查找并替换。
  • Control + G :立即窗口。
  • Control + R :项目资源管理器。
  • F4 :属性窗口。

学习一些令人惊叹的键盘快捷键: Excel 键盘快捷键备忘单

Visual Basic 编辑器的替代方案

嗯,我已经尝试过很多其他编辑器来编写宏,但我发现的问题是,如果没有 Intellisense,那么除了 Visual Basic 编辑器本身之外,很难使用任何其他编辑器。

基本可视化编辑器的替代方案

VBA 编辑器与 Excel 配合使用,您可以立即测试您的代码,并将它们保存在工作簿中。但这里有一些可以尝试的名字。

Visual Studio 代码| 超级编辑

要点

  • 您可以放大或缩小代码窗口。
  • 您可以随时更改项目的名称。
  • 项目窗口是浏览编辑器的最佳方式。
  • 如果编写代码时出现错误,则会出现红线。
  • 您还可以通过右键菜单切换书签为一行代码添加书签。
  • 如果不打开 Excel 工作簿,则无法使用 Visual Basic 编辑器。
我应该安装 Visual Basic 编辑器吗?

不需要。您不需要安装 Visual Basic 编辑器。它预装了 Microsoft Office 应用程序。

如果功能区上没有“开发人员”选项卡,会发生什么情况?

如果 Excel 功能区上没有开发人员选项卡,您可以从 Excel 功能区启用它。

有 Visual Basic 编辑器的替代品吗?

并不真地。 VBE 中的 IntelliSense 使其非常适合编写 VBA 代码。

添加评论

您的邮箱地址不会被公开。 必填项已用 * 标注