VBA学习笔记一:变量

第1部分  变量

1.1  数据类型

1.1.1  常用数据类型

序号类型类型名称储存范围
1byte字节型1个字节0~255
2boolean布尔型2个字节True或者False
3.1integer整数2个字节-32768~32767
3.2long长整数4个字节-2147483648~2147483647
3.3single单精度4个字节可以是整数和小数,最大长度8位
3.4double双精度8个字节可以是整数和小数,最大长度16位
4string字符串10个字节+字符串长度0~20亿
5date日期8个字节100年1月1日至9999年12月31日
6variant变量16或22字节基本可以代表其他所有数据类型

1.1.2  数据类型简写 

类型类型名称简写
integer整数%
long长整数&
single单精度
double双精度#
string字符串$

1.1.3  数据类型声明注意点

1)选合适的数据类型可以缩小储存空间

2)声明为single会出现累计时四舍五入的情况,导致最后计算出的数有差异,如果对计算结果要求比较精确,最好声明为double(原因:计算机只能处理二进制的数,当有小数点时精度越少,测量的越不标准,小数存储不精确)

注:声明方法在 1.5  变量声明

1.2  对象

1.2.1  什么是对象

是指应用VBA程序控制的元素,比如工作表、单元格、图表、窗体或报表

1.2.2  常用对象

序号类型含义
1.1WorkBooks工作簿
1.2ActiveWorkBook活动工作簿
1.3ThisWorkBook代码所在工作簿
   
2.1Sheets(n)第n个工作表,按照excel工作簿从左往右的顺序
2.2Sheetn第n个工作表,按照系统顺序,可在代码页面查看
2.3sheets("工作表名")按照工作表名
2.4ActiveSheet活动工作表
   
3.1Range("单元格地址")一个或者多个单元格,可以是行、列和区域
3.2Cells(行号, 列号)

一个单元格,如果不是指当前工作表,前面加上特定工作表名称,例如Sheets(1),Cells(1,1)

3.3[A1]单元格简写
3.4ActiveCell活动单元格

1.3  属性

1.3.1  什么是属性

属性是一个对象的特征,比如工作簿的路径、工作表的名称、单元格的值和格式

1.3.2  常用属性

表达方式:对象.属性  或者  父对象.子对象.属性

操作含义
ThisWorkBook.Path找到当前工作簿的路径
ActiveWorkbook.Worksheets.Count统计活动工作簿中工作表个数
ActiveSheet.Name重命名活动工作表的名字
Range("A1").ValueA1单元格的值
Range("A1").Interior.ColorIndexA1单元格的颜色
ActiveCell.Address活动单元格的位置,Address后面加上(0, 0)输出不带$的单元格

1.4  方法

1.4.1  什么是方法

方法是对象能执行的动作

1.4.2  常用方法

操作含义
WorkBooks.Add新建工作簿
WorkBooks.Open("路径")打开工作簿
ActiveWorkBooks.Close关闭活动工作簿
WorkSheets.Add新建工作表
Range("b1").Activate把b1作为活动单元格
Range("a1").Copy [b1]把a1复制到b1
Range("a1").Copy : Range("b1").PasteSpecial xlPasteValues把a1的值只粘贴数值到b1
Range("b1").Delete删除b1,其他单元格往上移
Range("b1").Clear清除b1单元格内容以及格式
Range("b1").ClearConent清除b1的内容

1.5  变量声明

1.5.1  声明方法

声明方法变量类型声明位置作用范围
Dim 变量名 as 数据类型局部变量本过程中本过程
Dim 变量名 as 数据类型局部变量模块,例如过程之外的顶部位置本模块
Private 变量名 as 数据类型局部变量只能在本过程之外单独声明本模块
Public 变量名 as 数据类型全局变量模块

全部模块,任何过程都可以访问

和修改全局变量的值

Static 变量名 as 数据类型静态变量本过程中

本过程中,并保持上次运行的值

声明可以简写,例如:Dim n as integer 可以简写为 Dim n%

1.5.2  数组声明

静态数组:Dim arr或者Dim arr(3)

  • 3表示数组arr的大小
  • 从0开始计数,也就是可以包含4个元素

动态数组:Dim arr()

  • () 表示数组维度为空,需要在声明之后用ReDim 语句调整数组的大小才能使用
  • 如果要改变数组的大小,但保留原数组中的数据,则用ReDim Preserve

1.5.3  声明错误可能导致的报错

提示错误13 类型不匹配问题——>可能数组定义不正确,注意动态数组还是静态数组

ByRef参数类型不符——>可能是没有dim变量为string

查看变量数据类型:Msgbox TypeName(变量名称)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值