文档章节

Office Excell VBA宏简介包含模块及启用宏创建宏录制宏

索大的三刀流
 索大的三刀流
发布于 2017/09/07 14:34
字数 1620
阅读 2
收藏 0

宏是一组指令。能使Excell的某些操作自动化,从而可以有效地工作并减少错误的发生,本节对Office Excell VBA宏做个简介,包含模块及启用宏创建宏录制宏,感兴趣的朋友可以看看。

启用宏

对宏最广泛的定义是,“宏是一组指令。能使Excell的某些操作自动化,从而可以有效地工作并减少错误的发生。例如,您可以创建一个宏来完成重复而复杂的输入,设置某种报表的格式并打印。

不必成为一个专业用户就能创建和使用简单的VBA宏。因为Excell提供了一个宏录制器,Excell可以记录用户的一系列操作从而自动形成一个宏。高级用户能够使用VBA语言自己创建程序,来告诉Excelle进行某些操作。这样做有着极大的自由度,能够完成宏不能完成的操作。例如,可以自定义对话框、在Excell菜单中插入一个自己的命令,建立一个自己的函数供工作表使用。

首先,我们来实验一下宏。想使用宏,必需保证“开发工具”选项卡出现在Excell中:

/EXCELL2007

office按钮 →Excell 选项

Excell 选项→ 常用 。

选中“在功能区显示‘开发工具’选项卡”复选框。

单击确定。

/EXCELL2010

文件→ 选项,

自定义功能区,

选中对话框右侧列表中“开发工具”被选中,

单击确定。

现在,Excelle窗口中出现了“开发工具”选项卡。不过在操作它之前还要了解一下宏的安全性。由于Office中的VBA自由度极高,可以访问系统的不少核心部分,所以Excell对宏默认是禁止使用的(功能越强大的东西越容易形成对电脑的严重伤害)。这种禁止是对于不懂宏或VBA的用户的善意之举,就像洗洁精瓶子上写着要将他放到儿童够不到的地方并且禁止饮用。下面我们从高出取下这个瓶子。

在“开发工具”→ “宏安全性”中设置“禁用所有宏,并发出通知”,这样,在打开含有宏的文档时会提示您是否使用宏。最好的方法是在“信任中心”→“信任位置”里设置一个或多个文件夹,这样,在这个位置的文档中的宏会被信任而允许执行,其他来源的含有宏的文档被拒之门外。(Excell2010,文件→选项→信任中心→信任中心设置)

保存带有宏的工作簿,要将格式改为:*.xlsm ,否则不能保存。这也是2007版以来的规则,这也是一种保护吧,从文件名上区分了是否携带宏(普通Excell文档是 *.xlsx)。

两种VBA宏

1、VBA子程序

VBA子程序

子程序,就是一组语句的集合,完成一系列操作、不返回值。总是以Sub开头,End Sub 结束。其间“ ' ”号后面的文字(深绿色)是注释即说明,程序不会理会它们,主要是方便人们理解程序的功能。其他的是语句了。

2、VBA函数

VBA函数

函数,与工作表里的函数功能上差不多,它必须要返回一个单一值。它经常被子程序或其它函数所使用。如果把一个函数放到合适位置它也可以被工作表使用,就像Excell内置函数一样。函数以“Function 函数名(参数)”开头,以End Function 结束,中间放着对参数的处理过程,并返回一个值。函数的作用很多,至少他可以把冗长的工作表函数精简许多,并且看上去更容易让人理解。比如上例,函数B返回参数的立方根。http://pdftoword.55.la/eb2pdf/

模块

模块,听起来很神的东西,其实他就是VBA代码的容器,即过程、函数写在哪儿?哦,在模块里。

创建一个VBA宏

录制一个宏,将得到一个过程(SUB)。通过“开发工具”→“录制宏”按钮,可以录制一个宏,按下按钮后,Excell就像一台录像机记录用户的所做所为,直到您按下“开发工具”→“停止录制”。在开始录制时出现这个对话框:

录制新宏

这时应当给这个宏取个合适的名字,加上一个快捷键。比如Marco1,Ctrl+q ,之后就可以在工作表上做些事了,比如在一个单元格上输入名字。我在A5单元格上输入文字,之后停止了录制。

现在我在键盘上按下Ctrl+q,没事发生啊,清除A5上的文字,再按Ctrl+q事情有了变化,A5格里被填写了刚才输入又清除的文字。这就是宏,重复的做一件事。

如果您在录制前点击“开发工具”→“使用相对引用”,重复以上操作,重新录制后的宏可以在您选定任意单元格并按下快捷键时把那些文字输入当前的单元格。

看看我们录制了什么

“开发工具”→“宏”按钮,得到:

宏

单击列表中的"Marco_1“(刚才命名的宏),单击编辑,得到:

Marco_1

这时VB编辑器打开,默认的模块1里放着我录制的宏。可以看出它是一个过程,不返回什么值只是做了一件事:在当前单元格里输入“qqq”,之后活动单元格设为同列的下一格。

您可以做一些更复杂的操作,绝大部分是可以记录下来,留以后反复使用的。注意定义快捷键时可以同时按下Shift键,这样就成为Shift+Ctrl+字母以免与Excell内置的快捷键冲突。

您可能注意到先前的Function B 这个函数也出现在模块1里,这个是我手工输入的。可以在这里(模块1)输入这样格式的函数,这样就可以在工作表里使用它。

我现在在工作表里插入函数,在函数列表里可以看见它(B)。

插入函数

应用它:

应用
结果

看到这里想必你对VBA宏有个大概的了解了吧,是否有写VBA的冲动,那就赶快动手吧!

© 著作权归作者所有

共有 人打赏支持
索大的三刀流
粉丝 0
博文 4
码字总数 3214
作品 0
厦门
PageOffice 如何录制宏和编辑宏

宏是微软公司为其Office软件包设计的一个特殊功能,软件设计者为了让人们在使用软件进行工作时,避免一再地重复相同的动作而设计出来的一种工具,它利用简单的语法,把常用的动作写成宏,当在...

山里的红杏
09/12
0
0
python与macro宏调用

一、简单的宏示例 打开excel 软件,在视图里打到宏功能,创建一个名为Test_Marco 的宏,其代码如下: Sub Test_Macro() MsgBox "This is a macro in Excel" End Sub 二、宏调用 1、vbs 调用宏...

还是要坚强
06/05
0
0
MicrosoftExcel2013下的VBA宏:生成程序修改单

注意: 1.这段宏是在MicrosoftOfficeStandard2013下撰写和调试的。用在其他Office版本中可能需要适当修改 2.保存带有宏的Excel表格,应该保存为*.xlsm格式(启用宏的工作簿) 关于本宏的用途...

北风其凉
2014/11/18
0
0
Office密码破解软件VBA功能

Advanced Office Password Recovery中有各种不同的攻击类型,除了暴力破解和字典攻击还有一个独具特色的“VBA后门”功能。那么VBA究竟是什么?确切地说,它是一种自动化语言,可以使常用的程...

neluzyy1
2015/09/02
93
0
详解AOPR中的VBA后门功能

Advanced Office Password Recovery中有各种不同的攻击类型,除了暴力破解和字典攻击还有一个独具特色的“VBA后门”功能。那么VBA究竟是什么?确切地说,它是一种自动化语言,可以使常用的程...

学术研究软件
2016/04/18
21
0

没有更多内容

加载失败,请刷新页面

加载更多

造谣造到t-io老巢了

只发当事人的截图,不发表评论,以免有引导嫌疑 PS1:截图是由不同的人发过来的 PS2:本人已经不在此微信群 PS3:图3是2018-09-23的t-io官方群的一个发言小统计,有助于让人认识到他们的其中...

talent-tan
57分钟前
69
0
heartbeat 资源

drbd+apache+heartbeat : http://blog.51cto.com/11838039/1827901 heartbeat双机热备的架设 : http://blog.51cto.com/11838039/1827560 对heaetbeat的深一步认识 : http://blog.51cto.co......

寰宇01
今天
4
0
Spring 转换 model 为 json 时增加属性

缘起 目前的项目中有个需求是在附件对象转换成 json 时增加个 url 属性,以前的方式是在返回附件对象或列表时候做一次统一处理,这次想看看 spring 或者 jackson fasterxml 是否自带类似功能...

郁也风
今天
4
0
10大PHP比特币开源项目

如果你是一个Phper,如果你希望学习区块链,那么本文列出的 10个开源的Php比特币项目,将有助于你了解在自己的应用中 如何加入对比特币的支持。 如果你希望快速掌握使用Php对接比特币钱包的方...

汇智网教程
今天
5
0
springclould feign客户端添加全局参数

用springclould feign作为调用服务的客户端,一般来说参数可以写在feignclient的方法参数里 有时需要所有feign请求都统一添加一些参数,例如token用于鉴权等,可以这样做: 添加一个配置类,...

canneljls
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部