[分享]基础知识普及:为什么需要宏和VBA?什么情况下需要宏和VBA?宏和VBA的区别是什么?

查看: 29013|回复: 7

[分享]

基础知识普及:为什么需要宏和VBA?什么情况下需要宏和VBA?宏和VBA的区别是什么?

[复制链接]

zhangnay2008

zhangnay2008

当前离线

性别保密

UID2464055

阅读权限10

注册时间2013-10-10

在线时间 小时

最后登录1970-1-1

积分1

财富

分享

技术

精华

TA的精华主题

TA的得分主题

电梯直达

1楼

发表于 2013-10-10 13:16

|

只看该作者

|倒序浏览

|阅读模式

[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用 · 内置多项VBA编程加强工具 ★ 免费下载 ★ ★使用手册★

初学Excel编程,大多数人搞不懂VBA和宏的关系,其实这两样是一回事。VBA是Visual Basic for Application的缩写,通俗说就是用VB对程序进行控制。宏,即Macro,个人认为这个翻译害了一群人,因为它把简单的事情搞高深了。宏的背后其实也是一堆VBA代码,只不过是由系统自动生成的。VBA和宏既然是同一个东西,都是基于VB代码以丰富Excel的功能。那么马上就会引出另外的疑问。1. 我们为什么需要宏和VBA?2. 什么情况下我们需要宏和VBA?3. 宏和VBA的区别是什么?首先,我先回答第一个问题:“我们为什么需要宏和VBA?”并非想要上纲上线,但是从宏观的角度看,我认为,这是因为世界上不存在完美的事物,同样也不存在完美的软件。虽然微软通过升级在不断地完善Office系列软件的功能,使其标准功能已可以满足日常绝大部分的应用,但也逃不过这个规律。于是微软便聪明的整合了宏和VBA到它的产品中,给用户留下了可以自行去定义属于自己需求的软件的可能性(多说一句,WPS还需要继续努力啊,在这点上还差的太远了)。那么,什么情况下我们需要宏和VBA呢?形象的说,“宏”像一个机器人,VBA是用来制作宏这个“机器人”工具和零件。当我们遇到下列问题时,我们就可以想到使用它们了(可能不全):1. 劳动强度大,重复性高的工作,比如每月报,周报等。2. 对Office本身一些功能的细节控制与完善,如数据透视表(Pivot Table)等。3. 和其它系统的交互,如数据库系统 。4. …… 所有这些,我会在今后的文章中陆续讲到,也希望大家持续关注。值得注意的是,宏的录制和VBA的编写是需要时间的,一定要权衡是否需要做一个宏或者VBA。最后,VBA和宏的区别是什么?刚才已经提到了,“宏”像一个机器人,VBA是用来制作宏这个“机器人”工具和零件。如果再进一步说明,宏就像是一个录音机或者录像机,只是它所录制的是你的操作自动制作一个“机器人”给你。当你需要重复操作的时候,只需要按一下启动键,“机器人”就会开始干活儿,而你则可以喝茶,抽烟,喝酒,聊天, XXOO… …听起来很美是不是?仿佛不论你是否掌握VBA编程技巧,你都能利用宏去制造“机器人”。但是,你必须掌握VBA,这是因为:1. 电脑不是人脑,至少目前还取代不了,有些时候一个微小的差别就会使你的宏失效,比如说文件名和文件结构的改变等。使得你尽心费力做好的宏可以被重复使用的可能性大大降低。2. “机器人”出了故障,你必须知道怎么修。3. “机器人”中可能会存在很多可以被其它“机器人”重复使用的“零件”,只有掌握了VBA,你才能做到自己建造“机器人”虽然还有很多细节性的东西没有说到,但从我的经验来看,太长的文章看起来费劲,所以我也先在这里结尾了。希望这篇文章已经能够大体回答文章开头的疑问。其它的细节我会在今后的文章中一点一点的补充,也希望大家持续关注。

该贴已经同步到 zhangnay2008的微博

代码, 基础, 基础知识, 知识, 知识普及

分享到:

QQ好友和群

QQ空间

收藏2

分享

有用0

无用0

回复

举报

jsxjd

jsxjd

当前离线

性别保密

UID2098376

阅读权限100

注册时间2012-10-17

在线时间 小时

最后登录1970-1-1

积分21446

财富

分享

技术

精华

TA的精华主题

TA的得分主题

2楼

发表于 2013-10-10 16:45

|

只看该作者

[广告] ★ ReportLite:表哥表姐早下班神器,专治各种报表不服,拒绝无意义的重复劳动 ★

可以把“宏”理解为能实现一定功能的“VBA代码”段

点评

liucqa

Macro是vba的超集

发表于 2015-5-5 10:25

回复

举报

gold_bless

gold_bless

当前离线

性别保密

UID1436214

阅读权限20

注册时间2011-6-25

在线时间 小时

最后登录1970-1-1

积分255

财富

分享

技术

精华

TA的精华主题

TA的得分主题

3楼

发表于 2015-5-4 23:43

|

只看该作者

[广告] ★会Excel,就能做支持PC、手机、Web、App、Windows、安卓、IOS、Linux信息一体化的各种管理系统 ★

理解透彻,谢谢分享!

回复

举报

liucqa

liucqa

当前离线

性别保密

UID331110

阅读权限100

注册时间2007-9-11

在线时间 小时

最后登录1970-1-1

积分15545

财富

分享

技术

精华

TA的精华主题

TA的得分主题

4楼

发表于 2015-5-5 10:24

|

只看该作者

[广告] ★ ReportLite:表哥表姐早下班神器,专治各种报表不服,拒绝无意义的重复劳动 ★

不明白不要乱讲!

如果你研究了Excel软件或者Office软件的历史的话,你会发现在vba之前,还有若干种自动化操作方式,这些方式有的依然保留到现在,例如宏表、Excel5.0对话框等。

所以,Macro这个单词表示的是所有自动化操作office的方法的总和,包括VBA、宏表(实际是C API)、各种加载项所提供的函数及命令等等

回复

举报

liucqa

liucqa

当前离线

性别保密

UID331110

阅读权限100

注册时间2007-9-11

在线时间 小时

最后登录1970-1-1

积分15545

财富

分享

技术

精华

TA的精华主题

TA的得分主题

5楼

发表于 2015-5-5 10:30

|

只看该作者

[广告] ★会Excel,就能做支持PC、手机、Web、App、Windows、安卓、IOS、Linux信息一体化的各种管理系统 ★

你没事看看维基百科,关于Macro,国内翻译成宏、台湾翻译成巨集;在某些书里面,把这个叫做脚本。

其实总结起来就一句话:把各种命令统一到一起,来执行批量批处理的命令的统称。

所以,即使在office里面,Macro也是VBA的超集,具体说明看四楼。

回复

举报

jsxjd

jsxjd

当前离线

性别保密

UID2098376

阅读权限100

注册时间2012-10-17

在线时间 小时

最后登录1970-1-1

积分21446

财富

分享

技术

精华

TA的精华主题

TA的得分主题

6楼

发表于 2015-5-5 11:06

|

只看该作者

[广告] ★用Excel做企业管理系统,Excel服务器学习和下载★

liucqa 发表于 2015-5-5 10:30

你没事看看维基百科,关于Macro,国内翻译成宏、台湾翻译成巨集;在某些书里面,把这个叫做脚本。

其实总 ...

在于“宏”的概念

回复

举报

HQJL

HQJL

当前离线

性别保密

UID3685704

阅读权限10

注册时间2017-3-9

在线时间 小时

最后登录1970-1-1

积分4

财富

分享

技术

精华

TA的精华主题

TA的得分主题

7楼

发表于 2019-4-28 19:52

来自手机

|

只看该作者

[广告] ★Excel Home云课堂 - 专业的职场技能充电站★ ★Excel三大利器★ ★ 笨办法学VBA全系列★

计算机语言

回复

举报

chis3

chis3

当前离线

性别保密

UID3788307

阅读权限50

注册时间2017-6-26

在线时间 小时

最后登录1970-1-1

积分1508

财富

分享

技术

精华

TA的精华主题

TA的得分主题

8楼

发表于 2019-4-28 20:52

|

只看该作者

[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件 ★免费下载 ★ ★ 使用帮助★

最尾三點沒寫到最重點

要是只有這樣也不用特地學vba了

有一大堆東西根本錄不了,單單是 if, for loop已經不可能錄

你說的像什麼也能錄,只要微調就可以像的

回复

举报