Hi,大家好,本专栏将会从零开始和大家用图文的方式,让你从零基础学会VBA!有兴趣的小伙伴可以持续关注我,或者在专栏进行查看学习,愿与君携手共进!

相信大家经过前面的学习已经能够轻松的说出什么是VBA的对象?什么是集合?什么是属性?什么是方法?什么是事件?应该如何正确地使用它们?

首先请先沉思一下,如果你确实不能回答出来,那么请回过头去再看一遍前面写的知识点,需要知道的是VBA是采用面向对象的程序设计,这些都是非常重要的概念,如果连这些都无法弄清楚,那么在你今后的实际应用中,你可能会感到很棘手的。

现在正式开始本文的学习正式之旅,将继续单调的基本功练习,为以后的程序设计打下坚实基础。希望你不要嫌内容的单调,一口你永远也吞不下一个大胖子,学习本来就是一个循序渐进的过程。

今天要主要说的是Excel VBA中数据类型,今天的主角是变量、常量、数组。

我们使用VBA的主要想得到的结果是什么?想必不用我说了你也肯定都知道,处理数据得到我们自己想要的结果。比如我们的某些数据存在于对象中,例如工作表的单元格区域里,某些数据存在于我们自定义的变量中。或许你不知道什么是变量,常量现在和你分别介绍一下。一起来观望吧!

1、数据类型就是告诉电脑怎么样将数据存储在内存中供给运算使用,比如整数、字符串、日期,长整型等。

数据类型是有变量的特性,这个是需要注意的,以下是数据类型包括:

Byte、Boolean、Integer、Long(长整型)、Single (单精度浮点型)、Double (双精度浮点型)、Currency(变比整型)、Decimal、Date、Object、String(变长)、String(定长)、Variant(数字)、Variant(字符)以及用户自定义。

数据的类型,是需要根据自己的数据按需选择使用即可,在后面会举详细的例子说明。

2、变量是在程序运行过程中需要临时保存的值或对象,赋值给一个变量。其实很好理解相当于我们在操作工作表的时候插入的辅助单元格、辅助列一样。他就是一个中转站,你可以这么理解。

那么我们应该如何定义变量?我们怎么使用呢?

定义变量我们一般是使用Dim语句来完成的:

Dim变量名As数据类型

这样我们就完成变量的定义了,是不是很简单?

当我我们取变量名需要有一定的命名规则,如果你自己取的变量名字都不知道是哪个变量,做什么用的,那就没有办法谈数据处理工作了。在今后的程序的设计过程中,你可能会定义非常之多的的变量,为了阅读及修改程序的方便,你定义的变量名需要能让人一看就明白这个变量具体代表的是什么,否则你自己都不知道是什么变量,就无从谈起程序设计了。

说一个知识点,我们在Dim语句中,如果你不知道你将要处理的数据类型的话,你可以不必声明变量的数据类型。输入“Dim变量名”此时定义的变量,那么这个将被指定为Variant类型。就是我们常说的万能型数据类型,但是这个有一个缺陷,会拖延程序的执行速度的。

所以我们在程序设计的过程中,应该养成明确数据的类型,这是一个非常好的编程习惯,请务必保持住,坚持好。

PS:定义变量除了可以使用Dim语句外,比较常的还有:static语句,Private语句,Public语句。使用不同的语句定义的变量不同的是它们的作用作用域不同,具体为:

(1)如果在一个过程中包含了一个Dim或Static语句,此时声明的变量作用域为此sub过程。

(2)如果在一个模块的第一个过程之前包含了Dim或Prvate语句,此时声明的变量作用域为此模块里所有的过程,也就是在此模块里所有的过程都可以使用它;

(3)如果在一个模块的第一个过程之前包含了Public语名,此时声明的变量作用域为所有模块,即公有变量。

变量的作用域是指变量保留其值的这段时间,也称为变量的生成周期,它决定变量可以用于哪个模块或过程中。

说了这么多,那么是怎么给变量赋值呢?其实赋值很简单的,就是用等号(=)来操作,这个是VBA里的赋值运算符。相信你也学过四则运算啦,这样就比较好理解!

举个例子,我们把"我是Excel教案,从零到一开始学习!"这个字符串赋给变量A,则可以直接输入:

A="我是Excel教案,从零到一开始学习!"

这句简单的一句话就完成的对变量A的赋值工作,你学会变量赋值了吗?

3、常量,望词生义,就是一成不变的值。相对而言变量的值会发生改变,所以我们称它为“变量”,但有时候我们需要引用不会变的数据,这个数据就是常量。当我我们常量声明后,就不阔以对它进行再次的赋值操作,如果你再次赋值,会提示错误。

声明常量设定常量的值,用Const语句来完成:

Const常量名As数据类型=常量的值

例子 Const Excel As Long =1000

这样就完成常数常量的声明和赋值工作了。

4、数组,其实学习VBA后面的以后,主要学习和使用的是数组和字典,这2个工具。

或许你会问什么是数组?是不是Excel的数组公式?数组是具有相同数据类型并且共享一个名字的一组变量的集合。数组也是变量,数组中的元素通过索引数字加以区分。

那么如何声明数组?Dim语句或者Public语句声明数组。

Dim/Public数组名(atob)as数据类型

a和b是数组中元素的个数,数组元素素最小值为a,最大值为b,元素个数为(b-a+1)个,当然,你也可以直接输入个数,此时默认最小索引号为0。

如:Dimmyarr(5)AsInteger

这个数组的最小元素索引号为0,元素个数为6。

上面定义的只是一维数组,你还可以定义二维、三维、四维…….

如:Dimmyarr(1to5,1to10)AsInteger

这就是一个二维数组,元素个数为5*10=50个。

当我们定义数组的时候我们也许无法确定数组的大小,就无法对数组进行声明,这个时候我们可以先声明一个动态数组,然后可以在运行时用ReDim语句重新指定数组的大小即可。

其实数组的知识点非常多,在今后会专门说数组的数据处理方式,今天就简单说这么多,先学习如何定义数组即可。

我是Excel教案,关注我持续分享更多的Excel技巧!

如果有不明白的或者不懂的可以在下方留言,我们会一一解答的。