VBA -- 学习Day2
入门
格式:
Sub 第一个宏程序()
End Sub
其中 第一个宏程序 : 宏程序名称;Sub:子程序;End Sub:子程序结尾
注:1. sub 宏程序名称,按下Enter => 自动补全() ,Sub自动大写,自动补全End Sub
2. 光标放在待执行的宏程序内部再执行 就不用选 要执行的是哪个宏程序
3. 单个模块可以编写多个宏程序
4. 选中多行,设置注释块 => 即可设置多行注释
5. &表示连接字符串;Range 表示单元格,通过.Value 获取单元格对应的数值
缩进:
Tab键 缩进
Shift+Tab键 减少缩进
立即窗口:
位置:视图 => 立即窗口
在立即窗口中 call 宏程序名称 或 直接写宏程序名称 都可以运行宏程序
使用变量:
Dim 声明变量 As 明确数据类型
日期&字符串:
VBA中对于日期类型要使用#包裹起来
字符串类型使用" "包裹
常见数据类型:
Integer(数据范围:-32768~32767)
Long(数据范围:-2147483648~2147483647)
Double
Date
Boolean
String
类型转换:
隐式类型转换:如果存储的数据的类型和我们设置的变量的数据类型不一致,首先会尝试隐式类型转换,(它会转换成设置的变量的数据类型),然后把转换之后的结果存储到内存空间中;转换不成功,就会报错
变量默认值:
整数、小数两个类型,变量默认值:0
字符串类型,变量默认值:""
布尔类型,变量默认值:False
日期类型,变量默认值:0:00:00
强制变量声明:
变量在使用时一定要先声明,然后才能使用
要想让未声明的变量报错,并且定位,我们可以在最上方写入Option Explicit
多变量声明:
Dim Name As String
Dim Age As Integer
Dim HireDate As Date
Dim Score As Double
=> Dim Name As String,Age As Integer,HireDate As Date,Score As Double
可变数据类型:
当我们不指定一个变量的数据类型的时候,那他就相当于可变数据类型
如果不写任何的数据类型,那就相当于默认会加上As Variant
变量作用域:
1. 在一个子程序里,可以调用另一个子程序 => call 子程序名称
2. 过程级变量:子程序内使用Dim声明的变量,只在所在的子程序中有效;超出子程序范围,变量所占据的内存空间就会释放
模块级变量:子程序外使用Dim声明的变量,在模块内的所有的子程序中都有效;超出子程序范围,变量所占据的内存空间不会释放
公共级变量:Dim 改 Public ,在子程序外使用Public生命的变量,对所有项目的所有模块中的子程序都有效
静态变量:子程序内使用Static声明的变量,只在声明的子程序内有效;即使子程序执行完毕之后,变量占据的内存空间不会释放,特点是只在第一次赋值,后续调用时,保持之前的值;且一旦超出子程序范围,变量所占据的内存空间不会释放