我的目标:让中国的大学生走出校门的那一刻就已经具备这些Office技能,让职场人士能高效使用Office为其服务。支持鹏哥,也为自己加油!
昨天我们讲了变量,那到底VBA中的变量根据其作用范围不同有可以分为哪些呢?都是如何声明其数据类型的?
变量是一个指定的内存位置,用于保存脚本执行过程中可以更改的值。变量声明是指在VBA代码中使用变量之前,声明变量的数据类型。声明数据类型后,可以在计算机内建立一个指定的存储位置,这样在运行代码时程序就会很快,内存利用效率很高,否则,计算机还要耗用很大的内存来判断其数值类型,运行会比较慢。
在VBA中如果要强制声明变量可以通过以下方式:
到工具、选项、编辑器下面勾选要求变量声明,勾选后代码窗口的顶头就会显示:Option Explicit
或者我们不用去选项里勾选,直接在输入代码时最顶头输入Option Explicit也可以强制声明变量。
如果强制声明变量后,在VBA代码中输入变量却未声明时,系统就会弹框显示:
理解了上面的内容以后我们就来具体的学学在VBA代码中到底怎么声明变量。
根据使用变量的范围不同,声明的方式也有所不同。
第一种:过程级变量
过程级变量只在变量所在的过程中有效。
声明代码:
Dim 变量名 As 数值类型
举例:
Sub test()Dim M1 As Integer ' 声明变量M1为整型M1 = 100Range("a1").Value = M1 ' 把M1的值赋给A1单元格End Sub
当我们再写一段代码,直接使用M1时就会出现如上的提醒,因为两个过程里的M1是独立的。
第二种:模块级变量
在同一个模块内通用的变量。
声明代码:
Dim 变量名 As 数值类型
Private 变量名 As 数值类型
Option ExplicitDim m1 As IntegerPrivate m2 As Integer'过程1:Sub test1()m1 = 100m2 = 200Range("a1").Value = m1 + m2End Sub'过程2:Sub test2()m1 = 100m2 = 200Range("a1").Value = m2 - m1End Sub
与过程级变量声明的不同方式在于,写过程前先声明。
第三种:全局变量
在该工程内通用的变量。
声明代码:
Public 变量名 As 数值类型
比如:我们在模块3中声明一个全局变量X1
然后我们到模块2中试试引用这个变量,
完全可以引用。
今天主要是分享了变量根据作用范围的不同分为三种类型极其声明方式,动手试试才有体会。
本节的分享就到这里,鹏哥祝大家每天都有进步。
从基础操作到VBA,
两杯咖啡的钱,
换取一份如此详细的Excel视频资料,
你还在犹豫?
欲购从速,联系微信号:527240310
每天进步一点,每天提升一点!