本文链接:
https://blog.csdn.net/weixin_42832348/article/details/81386671任何语言(汉语、英语)都得遵守一定的规则,机器语言也不例外,Excel VBA编程语言也要遵守相关的语法规则,否则的话你编写的代码计算机是无法识别和执行的。本节开始学习Excel VBA编程语言的语法规则,虽然很枯燥无味但又是必须要克服的难题,过不了这一关就无法入门。
VBA的数据类型(数据存储器数据存放类型)
Excel 使用过程中,往往会出现不同类型的数值,如:整数、小数、货币型、日期型、字符串、布尔型等,为了存储不同类型的数据,VBA中也有不同类型的存储器来存放相应类型的数据,VBA中数据类型如下表所示:
数据类型 存储空间(字节) 范围描述
byte 1 保存0-255的整数
boolean 2 保存逻辑判断结果:TRUE或FALSE
integer 2 保存-32786—32786的整数
long 4 保存±2147483648之间的整数
single 4 保存正负小数
double 4 保存正负范围更大的小数
currency 8 保存正负范围内小数
decimal 16 保存正负范围更广的小数
date 8
保存日期和时间
日期范围:100年1月1日-9999年12月31日
时间范围:0:00:00-23:59:59
string(变长) 10字节加字符串长度 0-20亿个字符
string(定长) 字符串长度 1-65400个字符
object 4 对象变量,用来引用对象
variant 除了定长string数据及用户自定义类型外,可包含任何种类数据。
用户自定义 每个元素范围与本身数据类型范围相同
数据存储器(数据存放容器)
常量和变量是VBA存储器的两种数据存储容器。常量和变量最大的不同之处在于,变量可以更换内容,重复使用,常量不可以。由于变量可以更换内容,重复使用,通常用来存储程序运行过程中需要临时保存的数据或是对象。
使用变量
使用变量前首先要声明变量。声明变量就是指定变量的名称和存储的数据类型。语法规程如下所示:
dim 变量名 as 数据类型 '声明一个数据类型为xx的变量
public 变量名 as 数据类型 '声明一个数据类型为xx的公共变量
private 变量名 as 数据类型 '声明一个数据类型为xx的私有变量
static 变量名 as 数据类型 '声明一个数据类型为xx的静态变量
上述四种声明变量的方法,除了变量的作用域不同外,其他都是相同的。
示例:
dim str as string ‘声明一个数据类型为string的str变量 这是一个变长的string类型
dim str as string*10 ‘声明一个数据类型为string的str变量 这是一个定长的string类型,最大存储10个字符
dim str as string,int as integer ‘不同变量用逗号隔开
dim str ‘只声明变量名不指定类型默认为variant类型
variant 类型称为变体型,它可以根据存储的数据类型改变自己的类型与之匹配,相当于万能型的变量。variant类型比其他数据类型占用更大的存储空间,编写代码时,除非必须使用,否则应该避免声明variant变量类型。一般在模块的第一行输入代码:option explicit 强制声明所有变量。
变量的作用域
变量的作用域决定了变量的使用区域,VBA中变量有3种不同级别的作用域,如下所示:
作用域 说明
单个过程 在一个过程中使用dim或是static语句声明变量,作用域为本过程,这样的变量为本地变量。
单个模块 在模块的第一个过程之前使用dim或是private语句声明变量,作用域为变量所在的模块。这样的模块为模块级变量。
所有模块 在一个模块的一个过程之前使用public语句声明变量,作用域为所有模块。这样的变量称为公共变量。
变量赋值
把数据存储到变量里,称为变量的赋值。变量赋值语句如下:
变量名 = 数据 ‘把等号右边的数据赋值给左边的变量
如1:sub mysub()
dim str as string
str = “一起学习VBA”
range(“a1”).value = str
end sub
如2:
sub mysub()
dim rng as range ‘声明rng为range的对象变量’
set rng = worksheets(“sheet2”).range("a1") ‘给变量赋值’
rng.value = “你好” ‘将文本写入变量指代的单元格,rng变量为 worksheets(“sheet2”).range("a1") 引用的单元格
end sub
上例2中介绍了给对象(object型,如单元格)赋值,语句为:
set 变量名 = 对象
使用常量
常量通常用来存储一些固定的、不会被修改的值,如:圆周率、税率等。常量也需要声明,且还要赋值。语法如下:
const 变量名 as 数据类型 = 数值
如:const pi as single = 3.14
常量的作用域
在过程中间使用const声明的常量,只能在该过程里使用;如果在模块的第一个过程之前const声明常量,该模块的所有过程都可以使用;如果想让声明的常量在所有模块中使用,应在模块的一个过程之前使用public语句声明,如:public pi as single = 3.14。
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请
点击举报。