初学VBA,知道这些概念就可以与代码沟通了

小编:迷魂雪 更新时间:2022-08-23

Vba学习,我来领进门 基本概念篇

初学VBA,知道这些概念就可以与代码沟通了

封面

有个豪言:基本上,能用鼠标和键盘能做的事情,VBA 也能做。实际上,会了VBA再回头看函数,那都 是毛毛雨啊。

  1. 原理:VBA就像工具,excel就像东西;我们可以用工具来使用东西或改变东西的属性。比如:我们可以用VBA改变单元格的行高、颜色等;

Range("A1").Interior.Color = 49407

上面代码中,=等号是赋值符号,也是我们能改变对象属性的关键。

  1. 习惯明确的注释

就是对代码的说明,编程的基本功,一定不要嫌麻烦,这对日后再运行调试此处代码的带来的便利是不能用语言来讲的,不要以为这是我们自已写的,不想让别人容易看明白,就不写注释,到时我们自己也会看的头疼;注释使用方法: ‘我是对代码的说明

此行不会被执行,注意是以英文符号单 引号开头的;

  1. 变量是存储数据的一种表达方式。在程序开始,可以声明一个变量,指定变量的类型(数字、文本、逻辑值等),并给变量赋值。在程序的其他地方,就可以用该变量,使其存储的值参与运算。

声明变量:dim bianliang1 as string ‘声明一个叫做bianliang1的文本类型的变量

bianliang1 = “我是变量1” ‘给它赋值

4、程序结构:常用的代码结构以下三种:

顺序结构 一行一行地执行。

条件结构 按照某个条件,选择性地执行。即,条件为真时,执行指定代码;否则跳过该部分代码,不执行

循环结构 按指定次数,循环执行。这是为什么 VBA 的效率高的一个原因,因为它能将相同的操作,自动按任意数量重复执行。

5、过程和函数

过程和函数都可以执行一段代码,主要区别是,执行完代码后,函数能返回一个值,而过程不能返回。

初学VBA,知道这些概念就可以与代码沟通了

初学

6、数组

哈哈,数学没学好,数组理解不了;没事,这里的数组概念非常轻;VBA用好,离不开数组,可以暂时理解为表格的行与列来说明单元格,就是数组里的每个值;一维数组就是一行,只用列号就能分清是具体哪个数值位,二维数组就是必须用行号加列号才能分清哪个数值位,三维数组。。。。四维。。。。不说了,再说不好理解了;现在理解到二组就可以了

初学VBA,知道这些概念就可以与代码沟通了

定义数组

注意,变量名称后面带有括号以及括号里有数字。一维数组要求括号里带一个数字,这个数字决定了这个数组能够储存的最大成员数。二维数组后面总是带有两个数字——第一个数字是行索引号,而第二个数字是列索引号。在上面的例子里,数组exchange最多可以储存15个数据(5*3=15)。

数组声明的最后一部分是定义数组将要储存数据的数据类型。数组可以储存下列任何一种数据类型:Integer, Long, Single, Double, Variant, Currency, String, Boolean, Byte, or Date。


当你声明了一个数组,VB会自动占据足够的内存空间,分配的内存空间取决于该数组的大小和数据类型。当你声明一个名叫lotto的带有6个成员的一维数组时,VB将留出12个字节——数组的每个成员各占2个字节(回想整型数据类型为2个字节,因此2*6=12)。数组越大,储存数据需要的内存空间就越大。因为数组会吃掉很多内存,并因此影响你电脑的运行,因此,建议你仅仅根据你可能使用的成员数来声明数组。

VBA默认将数组的第一个成员设置为0(索引号),因此,数字1代表数组中的第二个成员,而数字2则代表第三个,等等。因为数字编号起始于0,所以,一维数组cities(6)包含从0到6的七个成员。如果你宁愿从1开始计数你数组里的成员,那么你可以使用Option Base 1语句来强制指定该数组的下界。该指令必须置于VBA模块任何Sub语句上面的声明部分。如果你不明确Option Base 1,那么VBA在使用数组是就会假定使用Option Base 0来从0开始编号你的数组成员。


你也可以让数组从除0或1之外的数字开始编号,要达到该目的,你在声明数组变量时就必须明确该数组的边界。数组的边界是指它最小和最大的索引号。

7、对象

整个excel可以理解为一个对象,整个微软公司也可理解为一个对象,一个工作表也可以理解为一个对象,一个单 元格也可以理解为一个对象;一个单 元格有颜色、大小等属性;

Excel 本身是excel 中最大的对象,用APPLICATION表示,这个大对象又包含了 workbook(工作薄)对象,workbook又包含worksheet(工作表),worksheet又有其它子对象;在VBA中,application表示 excel的应用程序类的对象;workbook表示工作薄对象;worksheet表示工作表对象;range表示单元格区域对象;

8、模块

保存过程 或函数的容器;通常应用范围是整个 个工作薄;

9、用户窗体

是使用都 与VBA代码沟通的界面;下图就是一用户窗体;最基本的有文本控件窗体、按钮控件窗体、列表控件窗体、输入控件窗体;

对了,小伙伴们觉得有用的话,请务必关注并收藏呀!后续大明哥持续不断的为大家分享Excel中实用地知识点和技巧。

初学VBA,知道这些概念就可以与代码沟通了

窗体示例