目录

  • 什么是VBA,它有什么作用

  • VBA在哪里存放的?怎么运行的

  • 什么是宏?宏和VBA有什么关系?

  • 录制一个宏

  • 编写第一个宏

一、什么是VBA,它有什么作用

VBA是一种编程语言,它依托于Office软件,不能独立的运行,通过VBA可以实现各种Office软件操作的自动化。

总结下VBA的作用:

  • 实现Excel中没有提供的功能

  • 提高运行速度

  • 编写自定义函数

  • 实现自动化功能

  • 通过插入窗体做小型管理软件

二、VBA在哪里存放的?怎么运行的

VBA存放于Visual Basic 中:

我们这里以模块的方式存放已经写好的VBA代码,我们要在自己的表格中实现下面的这段代码:

方法一:在Visual Basic中直接运行

方法二:在表单中通过添加按钮来关联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,你才能做到自己建造“机器人”

四、录制一个宏

点击录制宏

进行操作,操作结束后停止录制宏,然后我们进入Visual Basic可以查看我们已经录制好的宏

五、编写第一个宏

在Visual Basic中插入新的模板,输入,表示在B2单元格输入abcd

 Sub 输入()
Range("b2") = "abcd"
End Sub

什么是VBA,他有什么作用的更多相关文章

  1. VBA 格式化字符串 - Format大全

    VBA 格式化字符串 VBA 的 Format 函数与工作表函数 TEXT 用法基本相同,但功能更加强大,许多格式只能用于VBA 的 Format 函数,而不能用于工作表函数 TEXT ,以下是本人归 ...

  2. VB类模块中属性的参数——VBA中Range对象的Value属性和Value2属性的一点区别

    在VB中,属性是可以有参数的,而VBA中属性使用参数非常常见.比如最常用的:Worksheet.Range("A1:A10")  VB的语法,使用参数的不一定是方法,也有可能是属性 ...

  3. VBA续嘘嘘

    什么是VBA?它有什么作用? A.实现Excel中没有实现的功能. B.提高运行速度. C.编写自定义函数. D.实现自动化功能. E.通过插入窗体做小型管理软件. VBA在哪里存放的?怎么运行? A ...

  4. VBA嘘嘘嘘(1)——将Excel数据填入到已存在的Word模板表格(实例应用)

    傻瓜可以写出机器读懂得代码,但写出让人能读懂的代码的是优秀程序员 Sub 填充() Application.ScreenUpdating = False 'ScreenUpdating 是控制你的ex ...

  5. 浅谈VBA

    VBA,全称Visual Basic for Applications,其中的一些专业性的解释可以自行搜索,这里就不一一介绍.半年以前,我是不知道VBA的,当我听到VBA的时候,我却迷糊了.VBA是什 ...

  6. Excel VBA自动添加证书

    ---恢复内容开始--- 在说这个话题之前,我先解释一下为什么要加数字证书签名,它有什么作用,后面再解释如何添加.首先解释下证书添加的位置,如下图所示: 1.单击左上角的Office 按钮,选择右下角 ...

  7. vba中MsgBox的参数及用法

    1.作用    在消息框中显示信息,并等待用户单击按钮,可返回单击的按钮值(比如“确定”或者“取消”).通常用作显示变量值的一种方式.2.语法       MsgBox(Prompt[,Buttons ...

  8. 20150916_001 vba 基础

    一.什么是“宏”.“宏”有什么用 关于“宏”的详细定义,可以参考百度百科的解释(点击查看).我给它一个简单的或许不太严谨的定义: 宏的通俗定义:宏是被某些软件所能识别.理解并执行的特定代码/脚本. 宏 ...

  9. VBA对象模型(2)

    Excel对象模型简介 在介绍Excel对象模型之前,让我们先来看一个简单的例子.大多数工厂都是按这样的结构进行设置的:最上层为工厂总部,第二层次分为各个车间,在车间下面又分各班组.就这样组织在一起, ...

随机推荐

  1. MongoDB快速入门(一)

    MongoDB是一个跨平台,面向文档的数据库,提供高性能,高可用性和易于扩展.MongoDB是工作在集合和文档上一种概念. 数据数 数据库是一个集合的物理容器.每个数据库获取其自己设定在文件系统上的文 ...

  2. URAL 2062 树状数组

    一个长度为n的数组 每次对lr区间进行修改 如果要修改i 则对i i*2 i*3...都修改 最后单点查询值 思想是利用树状数组维护每一个区间的更新值 查询的时候得出这个点的所有因子的查询值的和 加上 ...

  3. 直播P2P技术1-技术入门

    1. 直播协议 直播协议主要有RTMP,HLS,MPEG-DASH,RTSP,HTTP-FLV等.每种协议都各有长短,比如RTMP延迟低,但诞生于Adobe,依赖于Flash Player,在如今FL ...

  4. 初探MyBatis之HelloWorld(二)

    二.不使用 XML 构建 SqlSessionFactory 不使用xml构建SqlSessionFactory的话,就要用java代码来连接数据库.我这里直接new DataSorce()接口实现g ...

  5. 使用 docker 拉取镜像和创建容器-nginx

    本文主要分享通过从docker  hub上获取nginx镜像 1.首先查找nginx镜像 [root@node1 ~]# docker search nginx NAME DESCRIPTION ST ...

  6. GridView1 footer求和

    // ShowFooter="True" private double sum = 0;//取指定列的数据和,你要根据具体情况对待可能你要处理的是int protected voi ...

  7. 5.2 Selenium2环境搭建

    1.Java开发环境的搭建      本课程中将使用Java语言编写Selenium自动化测试脚本,在Eclipse集成开发环境中运行. (1)jdk的安装 a.下载 官网下载,http://www. ...

  8. 用createinstallmedia创建可恢复的OSX安装DMG

    准备 从App Store下载OS X安装程序,下载完成,会在应用程序目录 /Applications 下找到类似 Install OS X 10.xxxxxx.app(中文名如:安装 OS X 10 ...

  9. 用new Image().src作LOG统计的一个注意事项 .

    用new Image().src作LOG统计的一个注意事项 2009-08-06 17:40 在大型网站做很多用户行为分析.产品的策划方案基本上都是通过分析用户的访问等信息而做出的,LOG信息的统计准 ...

  10. mongodb数据文件结构——record是内嵌BSON的双向链表,多个record或索引组成extent

    数据文件结构 Extent 在每一个数据文件内,MongoDB把所存储的BSON文档的数据和B树索引组织到逻辑容器“Extent”里面.如下图所示(my-db.1和my-db.2 是数据库的两个数据文 ...