打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
VBA基础05--变量
Option Explicit
先说说上面这个语句的作用,必须写在最顶端,有了它,你必须在使用变量前先声明才能用,否则会提示错误
Dim m As Integer
'变量
'一、什么是变量?
'所谓变量,就是可变的量。就好象在内存中临时存放的一个小盒子,这个小盒子放的什么物体不固定。
Sub t1()
Dim X As Integer 'x就是一个变量
For X = 1 To 10
Cells(X, 1) = X
Next X
End Sub
**********************************************************
'二、小盒子里可以放什么?
'1 放数字
'如上面的那个 t1过程
'2 放文本
Sub t2()
Dim st As String '定义一个字符串变量 st
Dim X As Integer  '定义一个整型变量 X
For X = 1 To 10
st = st & 'Excel精英培训'   '这里是作个字符串拼接操作
Next X
End Sub
**********************************************************
'3 放对象
Sub t3()
Dim rg As Range    '现在知道了吧,定义的 单元格区域 是一个对象类型
Set rg = Range('a1')
rg = 100
End Sub
**********************************************************
'4 放数组
Sub t4()
Dim arr(1 To 10) As Integer, X As Integer    '这里还有个数组,不过后面还会讲数组知识,这是一个长度为10的整数数组
For X = 1 To 10
arr(X) = X   '以次序将 1 到 10 这10个数据装到数组里去
Next X
End Sub
**********************************************************
'三、变量的类型和声明
'1 变量的类型
'详见帮助文件( Excel 里 按 ALT F11 菜单中选择帮助就可以看 帮助文件 )
'2 为什么要声明变量
'3 如何声明变量?
'dim public
'四、变量的存活周期
'1 过程级变量: 过程结束,变量值释放
'如t1
'2 模块级变量: 变量的值只在本模块中保持,工作簿关闭时随时释放
'例5
Sub t6()
m = 1
End Sub
Sub t5()
MsgBox m
m = 7
End Sub
'3 全局级变量: 在所有的模块中都可以调用,值会保存到EXCEL关闭时才会被释放。
' public 变量
Sub t7()
MsgBox qq
End Sub
'五 变量的释放
'一般情况下,过程级变量在过程运行结束后就会自动从内存中释放,而只有一些从外部借用的对象变量才需要使用set 变量=nothing进行释放。
六 还有一个全局变量呢,也就是它的生命周期就是整个程序运行时间,程序什么时候结束,它就是什么时释放
如例:
Public qq As Integer       '使用 public 就是公共的,大家都用,注意这个也是写在 整个程序的最上面的
Sub DD()
qq = 12
End Sub
==================================
VBA数据类型
VBA共有12种数据类型,具体见下表,此外用户还可以根据以下类型用Type自定义数据类型。
数据类型
类型标识符
字节
字符串型 String
$
字符长度(0-65400)
字节型 Byte
1
布尔型 Boolean
2
整数型 Integer
%
2
长整数型 Long
&
4
单精度型 Single
!
4
双精度型 Double
#
8
日期型 Date
8公元100/1/1-99/12/31
货币型 Currency
@
8
小数点型 Decimal
14
变体型 Variant
以上任意类型,可变
对象型 Object
4
当你创建VB过程时,你脑海里必然有个目的,你想要处理数据。
因为你的过程要处理不同类型的信息,所以,你应该了解VB如何储存数据。
“数据类型”这个术语决定了数据如何储存在电脑的内存里。
例如,数据可以储存为数字,文本,日期,对象,等等。
如果你忘了告诉VB你的数据类型,VB将分配数据类型为“Variant”。
“Variant”类型有能力解决数据本身的操作类型并且使用该类型。
表里列出了VB数据类型。除了内置的数据类型之外,你还可以定义你自己的数据类型。因为不同的数据类型占据电脑内存的空间是不一样的,一些类型比另外一些更“贵”些,因此,为了保存内存并确保你的过程运行更快,你应该选择占用字节最少的,同时又能够处理你数据的数据类型。
数据类型(名称)
大小(字节)
描述
Boolean
2
逻辑值True或False
Byte
1
0到255的整数
Integer
2
–32,768到32,767的整数
Long
4
–2,147,483,648到2,147,483,647的整数
Single
4
单精度浮点数值
负数:–3.402823E38到–1.401298E–45
正数:1.401298E–45到3.402823E38
Double
8
双精度浮点数值
负数:–1.79769313486231E308到–4.94065645841247E–324
正数:4.94065645841247E–324到1.79769313486231E308
Currency
8
(放大的整数(译者:整数除以10000得到的数值,参见VBA帮助))使用在定点计算中:
–922,337,203,685,477.5808到922,337,203,685,477.5807
Decimal
14
/–79,228,162,514,264,337,593,543,950,335没有小数点;
/–7.9228162514264337593543950335小数点后有28位数字;
最小的非0数字是
/–0.0000000000000000000000000001
Date
8
从100年1月1日到9999年12月31日的日期
String(变长字符串)
10字节 字符串长度
变长字符串最多可包含大约 20 亿 ( 2^31)个字符。
String(定长字符串)
字符串长度
定长字符串最多可包含大约65,400 个字符。
Object
4
对象变量用来引用Excel中的任何对象
Variant(带数字)
16
最高范围到Double类型的任何数值
Variant(带字母)
22字节 字符串长度
和变长字符串的范围一样
用户定义类型
(使用Type)
成员所需的数值
每个成员的范围和它的数据类型的范围一致
数据类型的转换
1. 各种进制转换函数
VB中涉及到的数据进制之间的转换函数主要有如下几个:
Hex 函数: 返回代表十六进制数值的 String;
Oct 函数: 返回代表一数值的八进制值的Variant (String);
Cint函数: 强制将一个表达式转换成-32,768 至 32,767的整型;
CLng函数: 强制将一个表达式转换成-2,147,483,648 至 2,147,483,647的长整型;
Cdec函数: 强制将一个表达式转换成Decimal 数据类型;
CDbl函数: 强制将一个表达式转换成Double 数据类型;
例子:
(1) A=hex(5) 返回5;
(2) B=hex(10) 返回A
(3) C=hex(23) 返回17
(4) D=oct(5) 返回5
(5) E=oct(10) 返回12
(6) F=oct(23) 返回27
(7) G=Cint(&H17) 返回23
(8) H=Cint(&O12) 返回10
值得一提的是Hex函数和Oct函数返回的都是字符串,如果是想将十六进制或是八进制的字符串变量转换成十进制,可以按如下方法进行:
C=”17” 17为十六进制数值的String
C=”&H” & C
Ic=Cint(C) 返回23
2. 字符串和数字转换函数
Str()和Val()用于字符串和数字的相互转换;
Chr()和Asc()用于字符串和AscII码的相互转换;
Chrw()和Ascw()用于Unicode码和中文的相互转换;
Format()函数用途十分广泛的一个函数,功能十分强大.
例子:
(1) MyString = Str(-459.65) ' 返回 '-459.65'。
MyString = Str(459.001) ' 返回 ' 459.001'。
(2) MyValue = Val(' 2 45 7') ' 返回 2457。
MyValue = Val('24 and 57') ' 返回 24。
(3) MyChar = Chr(97) ' 返回 a。
MyChar = Chr(37) ' 返回 %。
(4) MyNumber = Asc('Apple') ' 返回 65。
MyNumber = Asc('a') ' 返回 97。
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
全国计算机二级VB复习要点
VB基础教程
VB Variant数据类型
VB 学习
我的VB感受 作者:梁利锋
Access教程 第八章 使用VBA编程
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服