从EXCEL VBA开始,入门业务自动化编程

我又来了!

从本期开始,打算穿插着写几个连载,从最接近大家日常业务的Office开始。因为本身是在日企工作,所以对Excel有着特别的情感,索性就决定先从Excel开始吧。

今天的第一篇连载面向编程初学者,从零开始说明如何利用Excel宏命令/VBA来实现业务自动化。

其实笔者本身也只是大概10年前,对Excel的宏命令以及VBA(Visual Basic for Applications)有一些接触,其实也可以归做菜鸟一类。决定写这篇连载,也是抱着和读者共同学习的打算,从头开始整理一下之前的心得。

作为第一期,会分别说明【编程到底是什么?】,【Visual Basic与宏的区别】,【宏的创建,保存/删除,以及安全设定】等内容。笔者使用的环境为【Windows 10和Excel 2013】,如果你用Windows7或Excel2016也没关系,大体上是一样的。

编程到底是什么高深玩意儿?到底哪儿好用?

个人私见,所谓编程,实际上就是将人的意图和命令,用某种程序语言传达给计算机,并让计算机能够如期运转的行为。

程序其实不光能通过文字编写,现在也出现了可以使用图画来进行编写的工具。例如【Scratch】(中文名:喵爪),国外小孩子都这个学习编程,非常直观。

使用Excel进行编程入门的2个优势

不用搭建很复杂的编程环境!

Microsoft Visual Studio(以下简称、VS)虽然是有免费版提供的,但还是需要手动进行安装。安装作业本身非常耗时间的。而Excel呀,Word、Access之类的Office软件基本都是预装在PC或平板电脑上的,不需要再单独安装。打开电脑,就已经可以开始使用一种叫做「VBE(Visual Basic Editor)」的编程环境。这样比较省事儿,而且去那台PC都可以不用准备,直接开始工作。很完美对不对?

笔者认为:VBE实际上就是给编程初学者用的开发环境。

通过业务自动化改善工作,减少加班!

使用Excel VBA进行编程,十有八九是用在工作上,为了提高工作效率用的。Excel本身其实也是一种办公工具。当然,也存在一些大神,能够用VBA做出赛车游戏或俄罗斯方块的。但毕竟是极少数的。

追加数据,处理复杂的数值运算等,相比于手动运算,使用VBA自动化处理能够明显地缩短时间。以前需要加班才能做完的工作,很可能在上班时间就能处理完。按时下班,多点儿时间做自己的事情,多爽!

铺垫的够多了,我们还是切入正题吧。

Excel中的「宏」到底是什么? 好用吗?

Excel中的「宏」,实际上是类似于Excel操作步骤记录器(或者叫复读机)的东西。例如,图1中的一张员工名单。如果想把它拷贝到其他地方,通常的操作是【选择拷贝的范围】-【复制粘贴到其他单元格】。

图1 向其他单元格内拷贝粘贴数据

像上图这样的少量数据,直接拷贝是没任何负担的。但是如果要是上万条数据,逐个选择粘贴的话,工作效率就会很低了。这时候,就该轮到【宏】登场了。

短评:「Visual Basic(VB.NET)和VBA以及宏的区别」

VBA是Excel编程所用的语言,而VBE编程所用的开发环境。

VBA同Visual Basic(VB.NET)的区别是,VBA是运行在Excel,Word或Access等Office程序上的编程语言,它是从VB基础上改良的,可以直接作为Excel,Word或Access的内置功能使用的编程语言。想实现同样的功能,使用Visual Basic(VB.NET)要比使用VBA多写很多行程序。

宏命令,说到底也就是记录操作步骤的一种功能。记录内容本质上是用VBA语言编写和保存的一段代码。先使用宏将操作步骤记录为一段程序,然后针对这段程序进行再编辑,就能实现更加丰富的功能。(当然,不用宏,直接使用VBA从零开始变成也是可以的)

在Excel中启用宏所必须的设定

只要点击打开[开发工具]选项卡就能开始录制宏命令。但是,默认情况下,[开发工具]选项卡是不显示在Excel菜单里的。所以,我们需要先说明一下如何显示[开发]选项卡。

找到[开发工具]选项卡

创建和编辑宏时,需要单击[开发]选项卡中的图标。在[开发工具]选项卡中包含「宏安全性」等图标。但是,默认安装的Excel是无法直接使用[开发工具]选项卡的。因此,我们先说明一下如何找到[开发工具]选项卡。首先,选择Excel 顶部菜单中的[文件][选项](图2)。

图2

之后,选择[Excel 选项]画面中选择[自定义功能区]。勾选[主选项卡]内的[开发工具],然后单击[确定](图3)。

图3 勾选[主选项卡]中的[开发工具]

这时,Excel的菜单里就出现[开发工具]选项卡了(图4)

图4 Excel菜单中的[开发工具]选项卡

安全性设定

由于存在一种专门利用宏功能传播的病毒,所以为了防止感染,Excel中准备了各种安全行相关功能。安全性设定不好的话,宏命令可能无法执行。大家需要注意一下。

打开包含宏的Excel文件时,可能会显示如下安全警告(图5)

图5

单击[启用内容]按钮后,消息条就消失了。(图6)。

图六

安全性设定的确认

如何打开包含宏的Excel文件,可以通过「宏设置」进行变更。

首先,单击[开发工具]选项卡中的[宏安全性],会显示[信任中心]界面。单击[宏设置]并且勾选「禁用所有宏,并发出通知,之后单机[确定]按钮(图7)。

图7

如图设置完毕后,打开包含宏的工作簿时宏是被禁用的;如果确认宏的安全性没有问题,用上面图5图6的方法再启用宏就可以了。

举例创建一个最简单Excel宏

现在我们尝试着创建一个具体的宏出来。比如将图1中的手动操作用宏来实现。初次创建宏时使用[录制宏]功能就可以了。

首先,单击[开发工具]选项卡,然后单击[录制宏]。在[录制宏]的界面上,将[宏名称]指定为「拷贝粘贴」。[宏的保存路径]保持默认。[说明]位置指定为「将选择范围粘贴到其他位置」。最后单击[确定]按钮(图8)。

图8

然后,执行图1的步骤,选择员工数据,拷贝粘贴至旁边。[录制宏]按钮已经变更为「停止录制」,单击「停止录制」(图9)。这样,拷贝粘贴这一系列操作就已经被录制成宏了。

图9

下面我们看一下刚刚创建的宏的具体内容。单击[开发工具]选项卡中的[宏],会显示所有已存在的宏。(图10)。

图10

在图10的画面中,单击[编辑],将会启动VBE并显示宏的内容。

(当然,是使用编程语言来描述的)(图11)

图11

图12

执行Excel宏命令的3种方法

现在我们开始尝试执行一下宏命令。

单击[开发工具]选项卡中的宏,就会打开宏命令对话框。选择想要执行的宏「复制粘贴」后,单击[执行]按钮(图13)。

图13

你会发现,宏命令开始执行,数据被复制粘贴了。见图14

图14

频繁使用宏命令时,每次都要从「宏一览」中执行是很麻烦的。为了更快地操作,我们可以采用如下几种方法:

「设置快速访问工具栏」,

「设置快捷键法」

「制作Sheet页上执行宏的按钮」

本章,我们只介绍「设置快速访问工具栏」法和「制作执行宏的按钮」这两种方法。

向快速访问工具栏中追加宏命令

依次选择Excel菜单中的[文件][选项][快速访问工具栏]。在[从下列位置选择命令]中指定[宏]。然后,在[自定义快速访问工具栏]中选择[用于****.xslx]。「****.xslx」就是我们在图1中保存数据的Excel文件名。(图15)

图15

图15的画面中的内选择「拷贝粘贴」,然后单击[追加]按钮,右侧的框内就会出现这个宏。单击[确定]后关闭。

图15

之后,在Excel的菜单栏中就出现「拷贝粘贴」的这个图标了(图17)。

图17

单击这个图标后,会立即执行宏命令「拷贝粘贴」(※这个图标的样式可以变更,但是由于和宏没什么关系,故略去不提)。

想要删除这个图标时,可以右键单击此图标,然后选择[从快速访问工具栏删除]即可。(图18)

图18

在工作簿上创建按钮来执行宏

下面我们来说明一下如何通过按钮来执行宏。

Excel支持在工作簿上创建一个图形来作为按钮,并把它分配给宏作为启动器的方式。在按钮上面可以直接写上宏的功能,实际使用起来是非常便利的。

首先,从「插入」选项卡中选择「形状」的[]处。这里我们选择创建「圆角矩形」(图19)。

图19

然后把图形拖拽到想要放置的地方。

在按钮上输入宏的功能描述(图20)。

图20

右键单击该按钮,在下拉菜单中选择[指定宏](图21)

图21

在「指定宏」的画面中,选择「拷贝粘贴」宏,,然后单击[确定]按钮(图22)。这样,按钮和宏之间的关联就建立起来了。

图22

现在让我们点击按钮来执行一下宏。首先,先单击一下按钮之外的单元格,然后单击一下按钮,员工数据就会像之前的图14 那样被拷贝粘贴完毕了。

下面我们追加一个[删除宏]的按钮。

在[开发工具]选项卡下,单击[录制宏]按钮,「宏名称」处输入「删除」,然后再在「说明」处输入「删除拷贝粘贴的数据」,最后单击[确定]按钮。之后开始录制宏,选择之前拷贝粘贴的区域,然后按键盘上的[Delete]键。

单击「录制结束」。在「插入」菜单处选择「形状」,然后选中「圆角矩形」。将按钮的文字描述为「删除」。最后,在[删除]按钮上右键单击,选择「指定宏」,制定「删除」后,单击[确定]。

经过上面的步骤,就能够把复制粘贴的员工数据删除了。

点击[拷贝粘贴]按钮,就是图23的样子;点击[删除]按钮,就是图24的样子。

图23

图24

保存包含宏命令的Excel工作表

下面我们来讲一下如何保存包含宏的Excel文件。

Excel 2007 之后的版本,包含宏的文件簿通常会被保存成为另外一种文件格式「启用宏的工作簿」。

在Excel菜单上依次选择[文件][导出]。然后双击「更改文件类型」。

在「另存为」画面上找到[保存类型],然后选择「启用宏的工作簿(*.xlsm)」,输入文件名后点击[保存](图25)。

包含宏命令的文件扩展名为「.xlsm」。

图25

Excel 宏的删除

在本篇的最后,我们看一下宏的删除方法。

首先,点击[开发工具]选项卡内的[宏]。在[宏]界面中,选择想要删除的宏,单击删除即可(图26)。

图26

在VBE中也可以直接删除宏。直接选择想删除的部分,按下键盘的[Delete]键,就可以了。(图27)。

图27

下一篇,Excel VBA的基础知识

本篇内容就到此为止。

在本篇中,我们解说了如何创建一个简单的宏,一直到如何让宏真正地工作起来。

由于是第一篇,所以内容上尽量简单,我想大家应该都能充分理解吧。

下一篇中,我们会开始讲解Excel VBA的基础知识。

可能会出现编程的用语,我会尽量给大家解说明白。

敬请关注。

  • 发表于:
  • 原文链接:http://kuaibao.qq.com/s/20180103G0BA6D00?refer=cp_1026

相关快讯

扫码关注云+社区