懒人Excel 2018-04-11 19:58:12
如果你不想深入学习 VBA,但是想用现成的 VBA 代码解决问题,你需要了解基本的 VBA 知识。因此推荐你仔细阅读本篇文章,实际动手运行其中列举的例子,了解 VBA 基础知识。懒人Excel 往后将会分享复杂问题的 VBA 解决方法,届时你可以直接使用提供的 VBA 程序,解决实际的问题。
如果你想系统学习 Excel VBA 知识,想自己写VBA 解决实际问题,推荐你从本篇开始,持续关注懒人Excel关于 VBA 主题的文章。懒人Excel 将会继续分享关于 VBA 语言、Excel VBA 对象、VBA 开发技巧等方面的文章,敬请关注。
Visual Basic for Applications(VBA)是VisualBasic的一种宏语言,是微软开发出来在其桌面应用程序中执行通用的自动化(OLE)任务的编程语言。主要能用来扩展Windows的应用程序功能,特别是Microsoft Office软件。
以上是 VBA 的百科定义。说简单点,VBA 是运行在 Microsoft Office 软件之上,可以用来编写非软件自带的功能的编程语言。Office 软件提供丰富的功能接口,VBA 可以调用它们,实现自定义的需求。
回到 Excel VBA,用它可以编写自定义函数,编写宏,编写插件。甚至可以编写基于 Excel 的复杂的管理系统,其功能与桌面软件不相上下。
好了,开始我们今天的学习。在这篇文章,你将学习 Excel VBA 基本概念,认识 VBA 编辑器工作界面,了解 VBA 基本语法,编写你的第一个 VBA 程序。最后通过 1 个实际例子,加深 VBA 的认识,做好下一步的学习基础。
VB 编辑器,即 Visula Basic 编辑器,是编写 VBA 的位置。在这里你可以查看、编写编辑、运行调试 VBA 代码。Excel 中打开编辑器有三种方法:
方法一:从功能区打开。点击功能区→开发工具→Visual Basic 命令打开。如果你为开启开发工具选项卡,请阅读这篇推送,学习如何开启。
方法二:快捷键打开。按「Alt + F11」打开。
方法三:从工作表查看代码命令打开。鼠标移动到任意一工作表名称处,点击右键,在菜单中选择「查看代码」打开。
工具栏:编辑器命令栏,与 Excel 功能区域,编辑器所有命令在工具栏里可以找到。
VBA工程:通常,一个工作簿就是一个 VBA 工程,其中包括 Excel 对象、工作表对象、模块。
属性窗口:查看和设置选中对象的属性的窗口。
代码编辑窗口:实际编写代码的位置。编写、修改、保存代码,都在这里进行。
立即窗口:代码运行过程中,打印出的内容,在立即窗口中显示。通用用于调试代码。
现在我们使用 VBA 在 Sheet1 工作表 A1 单元格写入 "Hello World" 的内容。
第一步:在 VBA工程窗口,选中工作簿名称,鼠标右键,在弹出的菜单中选择「插入」,其中选择第二项「模块」。
第二步:经过上一步,我们插入了一个新模块。模块默认名称是「模块1」,双击模块1,在代码编辑窗口处,会打开模块1.
第三步:将下面的代码复制到上一步打开的编辑窗口。
Sub MyCode()Sheet1.Range("A1") = "HelloWorld"End Sub
第四步:点击工具栏绿色向右箭头,运行代码。你可以看到,Sheet1工作表 A1 单元格已经写入了我们指定的内容。
对象:Excel VBA 中,工作簿、工作表、单元格、图表、模块,均是对象。工作簿、工作表等对象自带一系列的属性和方法。用户插入的模块、窗体等对象,可以自定义属性和方法。
过程:过程由 1 行或多行代码组成。运行代码时,过程逐行执行代码,直至到达 End Sub 语句。通常,一个过程实现特定的目标。使用录制宏命令录制的宏,原理上会自动生成一个过程,宏就是一个过程,所以可以说宏就是 VBA。
一行代码:VBA 运行过程是逐行运行的,一行代表最小的一次操作。
了解 Excel 对象模型对学习 VBA 是极其重要的。VBA 代码想要与 Excel 交互,必须通过一个或多个对象进行。
Application 对象代表 Excel 应用程序本身,是最初第一个的对象。它包含 Workbooks 对象,即当前打开的工作簿。Workbook对象又包含 Worksheets 对象,即 Sheet1、Sheet2等。Worksheet 对象包含 Range 对象,即单元格或单元格区域。
对象已经内置一系列的属性和方法,统称为对象成员。例如,Workbook 对象有 Open、Close等方法,有Name、Author等属性。
我们以后学习和解决问题时,将会大量涉及到上述和其他对象。Excel 提供查看对象的一个工具,位置在工具栏→视图→对象浏览器。打开后,可以从左侧选择对象,右侧查看该对象的成员。
Dim 是 Dimension(尺寸) 的缩写,用来声明代码中的变量。意思是我们告诉 VBA ,某一变量是文本还是数字还是单元格区域。
声明变量的一个好处是,我们可以随时更改变量代表的实际数据,使代码更灵活,适用性更广。
判断:正如其名字,判断某一个表达式是真(TRUE)或假(FALSE)。真,继续执行,假,跳过。
循环:按指定的次数,循环执行某一块代码片段。这为批量管理 Excel 提供了极大的便利。
今天我们用 VBA 实现批量创建带名称的工作表。代码如下:
Sub CopySheets()'声明循环使用的整数变量Dim i As Integer'声明一个工作表变量Dim sh As WorksheetFor i = 1 To 31'新建一个工作表Set sh = Worksheets.Add'工作表名称设置为 ish.name = iNextEnd Sub
接下来,我们运行该代码。首先插入一个新的模块,然后把代码复制到模块中,最后点击工具栏中的运行命令。这样我们创建了共31个表,名称是1-31。
全篇读下来,你基本了解了 Excel VBA 初级概念。如果你有时间,建议你把文章里的例子,自己动手编写并运行,进一步加深印象。
今天介绍的内容没有展开深入讲解,相关概念往后会详细介绍。今天只是带你基本了解 VBA,对它有一个基本的认识。