Excel VBA上手前你该知道哪些知识内容

在之前的几期文章当中,小柔已经带大家感受了Excel VBA的独特魅力,那么今天我们就要开始对它进行正式的学习了。在学习之前,有几个非常重要,又非常基础的内容,得先向大家介绍。这些内容都是围绕着编程相关的基本常识,它们分别是什么是宏如何存放代码,如何编写代码,如何调用代码,Excel文件的后缀名区别。

一. 什么是宏

1.1宏定义

如果你经常接触Excel的话,有个名词相信对你来说一定是不会陌生,那就是“宏”,但是对于不会编写VBA程序的人来说,他们也只是熟悉有这个专业词存在,对于它具体是什么,可能并不是很了解。

简单的来说,宏就是一段VBA程序,它还有个更加专业的名称就是过程,所以一段完整的VBA程序就是一个过程

1.2 过程的分类

在Excel VBA中,过程被分成三类,它们分别是以Sub开头的子过程以Function开头的函数过程,以及以Property开头的属性过程。在实际的操作中,一般都只会用到子过程,另外两个类型过程很少会涉及。为了方便记忆,这里我给出了一张图。

图1:

二. 如何存放代码

1、插入模块

一般子过程是存放在模块中,下面是打开模块界面的步骤。

步骤一:

开发工具——Visual Basic——VBE窗口

图2:

图3:

步骤二:

在VBE界面中,插入——模块,这样在左下方的属性窗口就会出现“模块1”的模块,我们看到的右边白色窗口就是代码编辑器,它是用来编辑、存放VBA代码的地方。

图4:

2、重命名模块

为了便于对模块的管理,我们需要对模块进行重命名,务必让我们一看到模块的名称就知道该模块里面的子过程是用来干什么的。在这里,我就把原先系统默认的模块1重命名为“提取文件

Step1:选中要重命名的模块

Step2:在属性窗口处选中名称,即可修改

图5:

二. 如何编写代码

步骤:

插入——过程——在“在添加过程”中输入过程名称以及选择过程类型设置,当然这一步在模块中完全可以自己手动输入,这里就不给出图片了,大家可以自己试一下。

三. 调用代码

在Excel VBA中,一共有4种常用调用方式,分别是键,组合键、自定义快捷键、按钮,那就让我逐一来给大家介绍一下,这4种调用方式的用法。

1、F5键

代码

Public Sub显示此刻时间()

MsgBox Now

End Sub

讲解

(1)Msgbox函数的作用是弹出一个信息框,在信息框中显示此刻时间。

(2)键只能在VBE中的程序编辑器中调用,而且只能调用当前过程。

2、Alt+F8组合键

按住Alt+F8组合键,可以打开“宏对话框”,宏对话框中涵盖了当前工作簿中所有模块的子过程。如果同时打开了多个工作簿(必须是工作簿打开的情况下),宏对话框可以将所有工作簿中的子过程一并列出。

图6:

3、自定义快捷键

还记得我们在上两期的文章《帮助编程小白在最短时间学会VBA的利器:录制宏》中提到,在录制宏的时候,我们可以设置快捷键,其实手工编写代码也同样可以设置快捷键。

代码:

Sub 报告今天星期几()

MsgBox Format(Now,"AAAA")

End Sub

步骤:

(1)按Alt+F8,打开“宏对话框”,选择过程“显示当前星期几”

图7:

(2)单击“选项”按钮,打开宏选项对话框

图8:

(3)设置完快捷键之后,单击确定,再退回到宏对话框,再单击“取消”按钮返回工作表界面就可以了

4、按钮

相比于刚才讲到的用快捷键调用代码,其实使用按钮的调用过程才是首选,因为当我们在模块中编写的子过程开始变多之后,我们无法去记住自己设置的每个快捷键。

代码:

Sub 报告今天星期几()

MsgBox Format(Now,"AAAA")

End Sub

步骤:

(1)文件——选项——自定义功能区——勾选开发工具

图9:

(2)开发工具——插入——按钮

在工作表中的任意位置拖动鼠标,就可以绘制出一个命令按钮了

(3)在“指定宏”对话框中,选择需要调用的过程,比如这里选择“显示当前星期几”

图10:

效果展示:

四. 后缀名的区别

1、兼容格式:xls

从Excel 2007开始,微软公司推出了新的文件格式,但是为了保持文件的兼容性,仍然允许使用老版本的xls格式,因此在高版本的Excel中也把xls称为兼容格式。

将文件保存为兼容格式,低版本的用户可以正常打开,缺点是会丢失高版本的某些特性,比如行列数减少等。

2、压缩格式:xlsx

从Excel2007开始,微软推出了压缩格式xlsx,该格式多了很多新的功能,行列数增大,将xls格式的文件另存为xlsx格式后,容量大大缩小。

3、启用宏的压缩格式:xlsm

启用宏的压缩格式xlsm既拥有xlsx格式的一切优势又能弥补xlsx格式的不足,这是因为xlsx格式不能保存宏代码,而xlsm格式是可以保存宏代码。

- 深夜互动 -

大家有什么想学的吗?

【欢迎留言交流】

本文由每天轻松学点Excel原创,欢迎留言

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180220G0JZQ800?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券