查看: 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已經不可能錄
你說的像什麼也能錄,只要微調就可以像的
回复
举报