前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >从EXCEL VBA开始,入门业务自动化编程

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

作者头像
企鹅号小编
发布2018-01-05 16:57:51
17.4K1
发布2018-01-05 16:57:51
举报
文章被收录于专栏:编程编程

我又来了!

从本期开始,打算穿插着写几个连载,从最接近大家日常业务的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的基础知识。

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

敬请关注。

本文来自企鹅号 - 全球大搜罗媒体

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文来自企鹅号 - 全球大搜罗媒体

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档