ExcelTip.Net留存知识帖 ---【注:附件之前被网盘供应商清空后,现已修复-现已修复-现已修复为本地下载!】
现在位置:首页 > E文精选 > Excel VBA > VBA入门指南-数据类型关键字

VBA入门指南-数据类型关键字

作者:绿色风 分类: 时间:2022-08-17 浏览:214
楼主
omnw
  Byte:字节类型
  Byte变量存储为单精度型、无符号整型、8位(1个字节)的数值形式,范围在0至255之间。
  Integer:整型数值类型。
  Integer变量存储为16位(2个字节)的数值形式,其范围为-32,768到32,767之间。Integer的类型声明字符是百分比符号(%)。
  Long:长整型数值类型。
  Long(长整型)变量存储为32位(4个字节)有符号的数值形式,其范围从-2,147,483,648到2,147,483,647。Long的类型声明字符为和号(&)。
  String:字符串类型。
  符串有两种:变长与定长的字符串。变长字符串最多可包含大约20亿(2^31)个字符。定长字符串可包含1到大约64K(2^16)个字符。String的类型声明字符为美元号($)。
  Boolean:逻辑类型。
  Boolean变量存储为16位(2个字节)的数值形式,但只能是True或是False。
  Single:单精度类型。
  Single(单精度浮点型)变量存储为IEEE32位(4个字节)浮点数值的形式,它的范围在负数的时候是从-3.402823E38到-1.401298E-45,而在正数的时候是从1.401298E-45到3.402823E38。Single的类型声明字符为感叹号(!)。
  Double:双精度类型。
  Double(双精度浮点型)变量存储为IEEE64位(8个字节)浮点数值的形式,它的范围在负数的时候是从-1.79769313486231E308到-4.94065645841247E-324,而正数的时候是从4.94065645841247E-324到1.79769313486232E308。Double的类型声明字符是数字符号(#)。
  Currency:货币数值类型。
  Currency变量存储为64位(8个字节)整型的数值形式,然后除以10,000给出一个定点数,其小数点左边有15位数字,右边有4位数字。这种表示法的范围可以从-922,337,203,685,477.5808到922,337,203,685,477.5807。Currency的类型声明字符为at号(@)。
  Decimal:可以容纳小数的数值类型。
  包含小数数值的数据类型。对于没有小数点的数字,其范围是+/-79,228,162,514,264,337,593,543,950,335。对于有28个小数位的数而言,其范围是+/-7.9228162514264337593543950335。Decimal的最小非零数值可表示为0.0000000000000000000000000001。
  Date:日期类型。
  Date变量存储为IEEE64位(8个字节)浮点数值形式,其可以表示的日期范围从100年1月1日到9999年12月31日,而时间可以从0:00:00到23:59:59。任何可辨认的文本日期都可以赋值给Date变量。日期文字须以数字符号(#)扩起来,例如,#January1,1993#或#1Jan93#。
  Variant:任何数字值或字符串值。
  Variant是一种特殊的数据类型,除了定长String数据及用户定义类型外,可以包含任何种类的数据。Variant也可以包含Empty、Error、Nothing及Null等特殊值。数值数据可以是任何整型或实型数,负数时范围从-1.797693134862315E308到-4.94066E-324,正数时则从4.94066E-324到1.797693134862315E308。通常,数值Variant数据保持为其Variant中原来的数据类型。例如,如果把一个Integer赋值给Variant,则接下来的运算会把此Variant当成Integer来处理。然而,如果算术运数针对含Byte、Integer、Long或Single之一的Variant执行,并当结果超过原来数据类型的正常范围时,则在Variant中的结果会提升到较大的数据类型。如Byte则提升到Integer,Integer则提升到Long,而Long和Single则提升为Double。当Variant变量中有Currency、Decimal及Double值超过它们各自的范围时,会发生错误。
  Object:对象类型。
  Object变量存储为32位(4个字节)的地址形式,其为对象的引用。利用Set语句,声明为Object的变量可以赋值为任何对象的引用。
  用户自定义:利用TYPE语句由用户自己定义的数据类型。
  首先,我们先谈谈VBA中大伙见到的文字有哪些。大家在VBA中能够见到的文字,除了之前列举的几大类关键字(保留字)外,就是些数据和注释了。注释是以西文半角方式的单引号开头的文字,在VBA编辑器里显示为绿色。这些字主要用来注释解说变量或代码的用途。数据则有很多种,这才是我们今天要讲的主要内容。在VBA中,数据按照形态大致分为三类,常量、变量和数组。常量就是指在程序中已经指定的值,并且常量的值在程序中保持不变。举个例子,我们声明一个常量名字叫“Name”,我们在可以在声明的时候直接赋予这个常量一个值比如“张三”。那么在这个程序里,我们就不用直接引用“张三”这个名字了,我们在需要引用的时候只要用Name这个常量就可以替代了。可能有的朋友会说,既然Name就是代表“张三”,那我们为什么不直接在程序里写“张三”呢?这里有这么几个原因。
  一是有可能直接使用“张三”不方便,如果起个有意义的名字更便于阅读和维护代码。二是如果以后需要修改程序,需要将程序中使用到“张三”的地方都改成“李四”,那么如果用引用一个常量的这种方式的话,就只需要修改Name这个常量的值就可以了。变量和常量有点类似,都是以一个名字来命名并赋予一个值给它,不同之处在于,常量的值在整个应用程序代码中是不变的,而变量的值会随着代码位置的不同而发生变化。在这里提供一个小建议,在给变量起名字的时候最好起一些有意义的名字,否则在今后维护代码的时候会遇到困难。比如可以给整型变量加上INT的前缀,如果这个变量用来保存“编号”的,那么可以起这样的名字“INT_name”,如果是保存“生日”的日期型变量呢?可以这样起“DATE_birthday”,等等。再来说说数组,数组也是变量,不同之处是数组是一组变量的集合而不是单个变量。因此,数组一般由变量名和下标组成,例如:NAME(2)、k(5)等。数组按照下标的个数分为一维数组(只有一个下标)、二维数组(有两个下标)和多维数组(有多于2个下标)。除了普通变量能采用数组形式外,对象、控件、单元格等都可以采用数组的形式来表示。对于有规律的变量或对象采用数组的形式可以方便的配合循环语句来简化代码、提高执行效率,不过会占用更多的内存资源,因此是一种空间换时间的方法。
  其次,在学习具体变量之前,我们还要谈谈计算机是如何保存和处理各类数据的。按照数据的种类和载体我们大致可以分为这么几类,数字、西文字符、中文字符、图形、动画、视频、音频等。这些数据在计算机中都被翻译为2进制来保存。比如数字,分为整形、浮点型、单精度、双精度、长整形等,按照2的N次幂的方法计算所能保存的最大数和最小数来确定范围;再比如数字型字符和西文字符,都是按照ASCII编码来保存的,一个字符占用一个字节(8位二进制);中文字符由于数量众多,就采用国际标准交换代码来保存,一个字符占用二个字节(16位二进制);图形、动画、视频和音频数据就更为复杂,一般通过引用(在变量中保存能找到这些数据的地址)的方法保存。
  最后,我们来看看学习变量需要重点掌握哪些内容。一是要十分清楚每种变量类型所对应的取值范围。根据我们第二点讲解的计算机保存各类数据的方法,对应不同类别变量的取值范围是存在不同的。BYTE字节型变量,只能存放1个字节的内容,因此你不能将一个汉字字符保存到一个字节型变量中,也为一个汉字字符需要占用2个字节的空间,如果用BYTE型变量保存就会发生溢出错误。具体上述关键字所对应的每种变量的取值范围详见联机帮助。二是变量的本质是一块特定内存区域的名称,我们通过引用这个名称(即变量名)来使用这块系统分配给应用程序的特定内存存放数据。明白了这一点可以帮助我们更好地在程序中使用变量。三是变量的生存周期和作用范围。
2楼
zhyou
一个字“好”,两个字“谢谢”!
3楼
bishunbiao
看来斑竹的入门贴我要全部看一遍啦
4楼
水星钓鱼
学习
5楼
rongjun
感谢分享!
6楼
芐雨
感谢分享
7楼
lrlxxqxa
8楼
老糊涂
系统学习
9楼
omnw
  Byte:字节类型
  Byte变量存储为单精度型、无符号整型、8位(1个字节)的数值形式,范围在0至255之间。
  Integer:整型数值类型。
  Integer变量存储为16位(2个字节)的数值形式,其范围为-32,768到32,767之间。Integer的类型声明字符是百分比符号(%)。
  Long:长整型数值类型。
  Long(长整型)变量存储为32位(4个字节)有符号的数值形式,其范围从-2,147,483,648到2,147,483,647。Long的类型声明字符为和号(&)。
  String:字符串类型。
  符串有两种:变长与定长的字符串。变长字符串最多可包含大约20亿(2^31)个字符。定长字符串可包含1到大约64K(2^16)个字符。String的类型声明字符为美元号($)。
  Boolean:逻辑类型。
  Boolean变量存储为16位(2个字节)的数值形式,但只能是True或是False。
  Single:单精度类型。
  Single(单精度浮点型)变量存储为IEEE32位(4个字节)浮点数值的形式,它的范围在负数的时候是从-3.402823E38到-1.401298E-45,而在正数的时候是从1.401298E-45到3.402823E38。Single的类型声明字符为感叹号(!)。
  Double:双精度类型。
  Double(双精度浮点型)变量存储为IEEE64位(8个字节)浮点数值的形式,它的范围在负数的时候是从-1.79769313486231E308到-4.94065645841247E-324,而正数的时候是从4.94065645841247E-324到1.79769313486232E308。Double的类型声明字符是数字符号(#)。
  Currency:货币数值类型。
  Currency变量存储为64位(8个字节)整型的数值形式,然后除以10,000给出一个定点数,其小数点左边有15位数字,右边有4位数字。这种表示法的范围可以从-922,337,203,685,477.5808到922,337,203,685,477.5807。Currency的类型声明字符为at号(@)。
  Decimal:可以容纳小数的数值类型。
  包含小数数值的数据类型。对于没有小数点的数字,其范围是+/-79,228,162,514,264,337,593,543,950,335。对于有28个小数位的数而言,其范围是+/-7.9228162514264337593543950335。Decimal的最小非零数值可表示为0.0000000000000000000000000001。
  Date:日期类型。
  Date变量存储为IEEE64位(8个字节)浮点数值形式,其可以表示的日期范围从100年1月1日到9999年12月31日,而时间可以从0:00:00到23:59:59。任何可辨认的文本日期都可以赋值给Date变量。日期文字须以数字符号(#)扩起来,例如,#January1,1993#或#1Jan93#。
  Variant:任何数字值或字符串值。
  Variant是一种特殊的数据类型,除了定长String数据及用户定义类型外,可以包含任何种类的数据。Variant也可以包含Empty、Error、Nothing及Null等特殊值。数值数据可以是任何整型或实型数,负数时范围从-1.797693134862315E308到-4.94066E-324,正数时则从4.94066E-324到1.797693134862315E308。通常,数值Variant数据保持为其Variant中原来的数据类型。例如,如果把一个Integer赋值给Variant,则接下来的运算会把此Variant当成Integer来处理。然而,如果算术运数针对含Byte、Integer、Long或Single之一的Variant执行,并当结果超过原来数据类型的正常范围时,则在Variant中的结果会提升到较大的数据类型。如Byte则提升到Integer,Integer则提升到Long,而Long和Single则提升为Double。当Variant变量中有Currency、Decimal及Double值超过它们各自的范围时,会发生错误。
  Object:对象类型。
  Object变量存储为32位(4个字节)的地址形式,其为对象的引用。利用Set语句,声明为Object的变量可以赋值为任何对象的引用。
  用户自定义:利用TYPE语句由用户自己定义的数据类型。
  首先,我们先谈谈VBA中大伙见到的文字有哪些。大家在VBA中能够见到的文字,除了之前列举的几大类关键字(保留字)外,就是些数据和注释了。注释是以西文半角方式的单引号开头的文字,在VBA编辑器里显示为绿色。这些字主要用来注释解说变量或代码的用途。数据则有很多种,这才是我们今天要讲的主要内容。在VBA中,数据按照形态大致分为三类,常量、变量和数组。常量就是指在程序中已经指定的值,并且常量的值在程序中保持不变。举个例子,我们声明一个常量名字叫“Name”,我们在可以在声明的时候直接赋予这个常量一个值比如“张三”。那么在这个程序里,我们就不用直接引用“张三”这个名字了,我们在需要引用的时候只要用Name这个常量就可以替代了。可能有的朋友会说,既然Name就是代表“张三”,那我们为什么不直接在程序里写“张三”呢?这里有这么几个原因。
  一是有可能直接使用“张三”不方便,如果起个有意义的名字更便于阅读和维护代码。二是如果以后需要修改程序,需要将程序中使用到“张三”的地方都改成“李四”,那么如果用引用一个常量的这种方式的话,就只需要修改Name这个常量的值就可以了。变量和常量有点类似,都是以一个名字来命名并赋予一个值给它,不同之处在于,常量的值在整个应用程序代码中是不变的,而变量的值会随着代码位置的不同而发生变化。在这里提供一个小建议,在给变量起名字的时候最好起一些有意义的名字,否则在今后维护代码的时候会遇到困难。比如可以给整型变量加上INT的前缀,如果这个变量用来保存“编号”的,那么可以起这样的名字“INT_name”,如果是保存“生日”的日期型变量呢?可以这样起“DATE_birthday”,等等。再来说说数组,数组也是变量,不同之处是数组是一组变量的集合而不是单个变量。因此,数组一般由变量名和下标组成,例如:NAME(2)、k(5)等。数组按照下标的个数分为一维数组(只有一个下标)、二维数组(有两个下标)和多维数组(有多于2个下标)。除了普通变量能采用数组形式外,对象、控件、单元格等都可以采用数组的形式来表示。对于有规律的变量或对象采用数组的形式可以方便的配合循环语句来简化代码、提高执行效率,不过会占用更多的内存资源,因此是一种空间换时间的方法。
  其次,在学习具体变量之前,我们还要谈谈计算机是如何保存和处理各类数据的。按照数据的种类和载体我们大致可以分为这么几类,数字、西文字符、中文字符、图形、动画、视频、音频等。这些数据在计算机中都被翻译为2进制来保存。比如数字,分为整形、浮点型、单精度、双精度、长整形等,按照2的N次幂的方法计算所能保存的最大数和最小数来确定范围;再比如数字型字符和西文字符,都是按照ASCII编码来保存的,一个字符占用一个字节(8位二进制);中文字符由于数量众多,就采用国际标准交换代码来保存,一个字符占用二个字节(16位二进制);图形、动画、视频和音频数据就更为复杂,一般通过引用(在变量中保存能找到这些数据的地址)的方法保存。
  最后,我们来看看学习变量需要重点掌握哪些内容。一是要十分清楚每种变量类型所对应的取值范围。根据我们第二点讲解的计算机保存各类数据的方法,对应不同类别变量的取值范围是存在不同的。BYTE字节型变量,只能存放1个字节的内容,因此你不能将一个汉字字符保存到一个字节型变量中,也为一个汉字字符需要占用2个字节的空间,如果用BYTE型变量保存就会发生溢出错误。具体上述关键字所对应的每种变量的取值范围详见联机帮助。二是变量的本质是一块特定内存区域的名称,我们通过引用这个名称(即变量名)来使用这块系统分配给应用程序的特定内存存放数据。明白了这一点可以帮助我们更好地在程序中使用变量。三是变量的生存周期和作用范围。
10楼
zhyou
一个字“好”,两个字“谢谢”!
11楼
bishunbiao
看来斑竹的入门贴我要全部看一遍啦
12楼
水星钓鱼
学习
13楼
rongjun
感谢分享!
14楼
芐雨
感谢分享
15楼
lrlxxqxa
16楼
老糊涂
系统学习
17楼
omnw
  Byte:字节类型
  Byte变量存储为单精度型、无符号整型、8位(1个字节)的数值形式,范围在0至255之间。
  Integer:整型数值类型。
  Integer变量存储为16位(2个字节)的数值形式,其范围为-32,768到32,767之间。Integer的类型声明字符是百分比符号(%)。
  Long:长整型数值类型。
  Long(长整型)变量存储为32位(4个字节)有符号的数值形式,其范围从-2,147,483,648到2,147,483,647。Long的类型声明字符为和号(&)。
  String:字符串类型。
  符串有两种:变长与定长的字符串。变长字符串最多可包含大约20亿(2^31)个字符。定长字符串可包含1到大约64K(2^16)个字符。String的类型声明字符为美元号($)。
  Boolean:逻辑类型。
  Boolean变量存储为16位(2个字节)的数值形式,但只能是True或是False。
  Single:单精度类型。
  Single(单精度浮点型)变量存储为IEEE32位(4个字节)浮点数值的形式,它的范围在负数的时候是从-3.402823E38到-1.401298E-45,而在正数的时候是从1.401298E-45到3.402823E38。Single的类型声明字符为感叹号(!)。
  Double:双精度类型。
  Double(双精度浮点型)变量存储为IEEE64位(8个字节)浮点数值的形式,它的范围在负数的时候是从-1.79769313486231E308到-4.94065645841247E-324,而正数的时候是从4.94065645841247E-324到1.79769313486232E308。Double的类型声明字符是数字符号(#)。
  Currency:货币数值类型。
  Currency变量存储为64位(8个字节)整型的数值形式,然后除以10,000给出一个定点数,其小数点左边有15位数字,右边有4位数字。这种表示法的范围可以从-922,337,203,685,477.5808到922,337,203,685,477.5807。Currency的类型声明字符为at号(@)。
  Decimal:可以容纳小数的数值类型。
  包含小数数值的数据类型。对于没有小数点的数字,其范围是+/-79,228,162,514,264,337,593,543,950,335。对于有28个小数位的数而言,其范围是+/-7.9228162514264337593543950335。Decimal的最小非零数值可表示为0.0000000000000000000000000001。
  Date:日期类型。
  Date变量存储为IEEE64位(8个字节)浮点数值形式,其可以表示的日期范围从100年1月1日到9999年12月31日,而时间可以从0:00:00到23:59:59。任何可辨认的文本日期都可以赋值给Date变量。日期文字须以数字符号(#)扩起来,例如,#January1,1993#或#1Jan93#。
  Variant:任何数字值或字符串值。
  Variant是一种特殊的数据类型,除了定长String数据及用户定义类型外,可以包含任何种类的数据。Variant也可以包含Empty、Error、Nothing及Null等特殊值。数值数据可以是任何整型或实型数,负数时范围从-1.797693134862315E308到-4.94066E-324,正数时则从4.94066E-324到1.797693134862315E308。通常,数值Variant数据保持为其Variant中原来的数据类型。例如,如果把一个Integer赋值给Variant,则接下来的运算会把此Variant当成Integer来处理。然而,如果算术运数针对含Byte、Integer、Long或Single之一的Variant执行,并当结果超过原来数据类型的正常范围时,则在Variant中的结果会提升到较大的数据类型。如Byte则提升到Integer,Integer则提升到Long,而Long和Single则提升为Double。当Variant变量中有Currency、Decimal及Double值超过它们各自的范围时,会发生错误。
  Object:对象类型。
  Object变量存储为32位(4个字节)的地址形式,其为对象的引用。利用Set语句,声明为Object的变量可以赋值为任何对象的引用。
  用户自定义:利用TYPE语句由用户自己定义的数据类型。
  首先,我们先谈谈VBA中大伙见到的文字有哪些。大家在VBA中能够见到的文字,除了之前列举的几大类关键字(保留字)外,就是些数据和注释了。注释是以西文半角方式的单引号开头的文字,在VBA编辑器里显示为绿色。这些字主要用来注释解说变量或代码的用途。数据则有很多种,这才是我们今天要讲的主要内容。在VBA中,数据按照形态大致分为三类,常量、变量和数组。常量就是指在程序中已经指定的值,并且常量的值在程序中保持不变。举个例子,我们声明一个常量名字叫“Name”,我们在可以在声明的时候直接赋予这个常量一个值比如“张三”。那么在这个程序里,我们就不用直接引用“张三”这个名字了,我们在需要引用的时候只要用Name这个常量就可以替代了。可能有的朋友会说,既然Name就是代表“张三”,那我们为什么不直接在程序里写“张三”呢?这里有这么几个原因。
  一是有可能直接使用“张三”不方便,如果起个有意义的名字更便于阅读和维护代码。二是如果以后需要修改程序,需要将程序中使用到“张三”的地方都改成“李四”,那么如果用引用一个常量的这种方式的话,就只需要修改Name这个常量的值就可以了。变量和常量有点类似,都是以一个名字来命名并赋予一个值给它,不同之处在于,常量的值在整个应用程序代码中是不变的,而变量的值会随着代码位置的不同而发生变化。在这里提供一个小建议,在给变量起名字的时候最好起一些有意义的名字,否则在今后维护代码的时候会遇到困难。比如可以给整型变量加上INT的前缀,如果这个变量用来保存“编号”的,那么可以起这样的名字“INT_name”,如果是保存“生日”的日期型变量呢?可以这样起“DATE_birthday”,等等。再来说说数组,数组也是变量,不同之处是数组是一组变量的集合而不是单个变量。因此,数组一般由变量名和下标组成,例如:NAME(2)、k(5)等。数组按照下标的个数分为一维数组(只有一个下标)、二维数组(有两个下标)和多维数组(有多于2个下标)。除了普通变量能采用数组形式外,对象、控件、单元格等都可以采用数组的形式来表示。对于有规律的变量或对象采用数组的形式可以方便的配合循环语句来简化代码、提高执行效率,不过会占用更多的内存资源,因此是一种空间换时间的方法。
  其次,在学习具体变量之前,我们还要谈谈计算机是如何保存和处理各类数据的。按照数据的种类和载体我们大致可以分为这么几类,数字、西文字符、中文字符、图形、动画、视频、音频等。这些数据在计算机中都被翻译为2进制来保存。比如数字,分为整形、浮点型、单精度、双精度、长整形等,按照2的N次幂的方法计算所能保存的最大数和最小数来确定范围;再比如数字型字符和西文字符,都是按照ASCII编码来保存的,一个字符占用一个字节(8位二进制);中文字符由于数量众多,就采用国际标准交换代码来保存,一个字符占用二个字节(16位二进制);图形、动画、视频和音频数据就更为复杂,一般通过引用(在变量中保存能找到这些数据的地址)的方法保存。
  最后,我们来看看学习变量需要重点掌握哪些内容。一是要十分清楚每种变量类型所对应的取值范围。根据我们第二点讲解的计算机保存各类数据的方法,对应不同类别变量的取值范围是存在不同的。BYTE字节型变量,只能存放1个字节的内容,因此你不能将一个汉字字符保存到一个字节型变量中,也为一个汉字字符需要占用2个字节的空间,如果用BYTE型变量保存就会发生溢出错误。具体上述关键字所对应的每种变量的取值范围详见联机帮助。二是变量的本质是一块特定内存区域的名称,我们通过引用这个名称(即变量名)来使用这块系统分配给应用程序的特定内存存放数据。明白了这一点可以帮助我们更好地在程序中使用变量。三是变量的生存周期和作用范围。
18楼
zhyou
一个字“好”,两个字“谢谢”!
19楼
bishunbiao
看来斑竹的入门贴我要全部看一遍啦
20楼
水星钓鱼
学习
21楼
rongjun
感谢分享!
22楼
芐雨
感谢分享
23楼
lrlxxqxa
24楼
老糊涂
系统学习
25楼
omnw
  Byte:字节类型
  Byte变量存储为单精度型、无符号整型、8位(1个字节)的数值形式,范围在0至255之间。
  Integer:整型数值类型。
  Integer变量存储为16位(2个字节)的数值形式,其范围为-32,768到32,767之间。Integer的类型声明字符是百分比符号(%)。
  Long:长整型数值类型。
  Long(长整型)变量存储为32位(4个字节)有符号的数值形式,其范围从-2,147,483,648到2,147,483,647。Long的类型声明字符为和号(&)。
  String:字符串类型。
  符串有两种:变长与定长的字符串。变长字符串最多可包含大约20亿(2^31)个字符。定长字符串可包含1到大约64K(2^16)个字符。String的类型声明字符为美元号($)。
  Boolean:逻辑类型。
  Boolean变量存储为16位(2个字节)的数值形式,但只能是True或是False。
  Single:单精度类型。
  Single(单精度浮点型)变量存储为IEEE32位(4个字节)浮点数值的形式,它的范围在负数的时候是从-3.402823E38到-1.401298E-45,而在正数的时候是从1.401298E-45到3.402823E38。Single的类型声明字符为感叹号(!)。
  Double:双精度类型。
  Double(双精度浮点型)变量存储为IEEE64位(8个字节)浮点数值的形式,它的范围在负数的时候是从-1.79769313486231E308到-4.94065645841247E-324,而正数的时候是从4.94065645841247E-324到1.79769313486232E308。Double的类型声明字符是数字符号(#)。
  Currency:货币数值类型。
  Currency变量存储为64位(8个字节)整型的数值形式,然后除以10,000给出一个定点数,其小数点左边有15位数字,右边有4位数字。这种表示法的范围可以从-922,337,203,685,477.5808到922,337,203,685,477.5807。Currency的类型声明字符为at号(@)。
  Decimal:可以容纳小数的数值类型。
  包含小数数值的数据类型。对于没有小数点的数字,其范围是+/-79,228,162,514,264,337,593,543,950,335。对于有28个小数位的数而言,其范围是+/-7.9228162514264337593543950335。Decimal的最小非零数值可表示为0.0000000000000000000000000001。
  Date:日期类型。
  Date变量存储为IEEE64位(8个字节)浮点数值形式,其可以表示的日期范围从100年1月1日到9999年12月31日,而时间可以从0:00:00到23:59:59。任何可辨认的文本日期都可以赋值给Date变量。日期文字须以数字符号(#)扩起来,例如,#January1,1993#或#1Jan93#。
  Variant:任何数字值或字符串值。
  Variant是一种特殊的数据类型,除了定长String数据及用户定义类型外,可以包含任何种类的数据。Variant也可以包含Empty、Error、Nothing及Null等特殊值。数值数据可以是任何整型或实型数,负数时范围从-1.797693134862315E308到-4.94066E-324,正数时则从4.94066E-324到1.797693134862315E308。通常,数值Variant数据保持为其Variant中原来的数据类型。例如,如果把一个Integer赋值给Variant,则接下来的运算会把此Variant当成Integer来处理。然而,如果算术运数针对含Byte、Integer、Long或Single之一的Variant执行,并当结果超过原来数据类型的正常范围时,则在Variant中的结果会提升到较大的数据类型。如Byte则提升到Integer,Integer则提升到Long,而Long和Single则提升为Double。当Variant变量中有Currency、Decimal及Double值超过它们各自的范围时,会发生错误。
  Object:对象类型。
  Object变量存储为32位(4个字节)的地址形式,其为对象的引用。利用Set语句,声明为Object的变量可以赋值为任何对象的引用。
  用户自定义:利用TYPE语句由用户自己定义的数据类型。
  首先,我们先谈谈VBA中大伙见到的文字有哪些。大家在VBA中能够见到的文字,除了之前列举的几大类关键字(保留字)外,就是些数据和注释了。注释是以西文半角方式的单引号开头的文字,在VBA编辑器里显示为绿色。这些字主要用来注释解说变量或代码的用途。数据则有很多种,这才是我们今天要讲的主要内容。在VBA中,数据按照形态大致分为三类,常量、变量和数组。常量就是指在程序中已经指定的值,并且常量的值在程序中保持不变。举个例子,我们声明一个常量名字叫“Name”,我们在可以在声明的时候直接赋予这个常量一个值比如“张三”。那么在这个程序里,我们就不用直接引用“张三”这个名字了,我们在需要引用的时候只要用Name这个常量就可以替代了。可能有的朋友会说,既然Name就是代表“张三”,那我们为什么不直接在程序里写“张三”呢?这里有这么几个原因。
  一是有可能直接使用“张三”不方便,如果起个有意义的名字更便于阅读和维护代码。二是如果以后需要修改程序,需要将程序中使用到“张三”的地方都改成“李四”,那么如果用引用一个常量的这种方式的话,就只需要修改Name这个常量的值就可以了。变量和常量有点类似,都是以一个名字来命名并赋予一个值给它,不同之处在于,常量的值在整个应用程序代码中是不变的,而变量的值会随着代码位置的不同而发生变化。在这里提供一个小建议,在给变量起名字的时候最好起一些有意义的名字,否则在今后维护代码的时候会遇到困难。比如可以给整型变量加上INT的前缀,如果这个变量用来保存“编号”的,那么可以起这样的名字“INT_name”,如果是保存“生日”的日期型变量呢?可以这样起“DATE_birthday”,等等。再来说说数组,数组也是变量,不同之处是数组是一组变量的集合而不是单个变量。因此,数组一般由变量名和下标组成,例如:NAME(2)、k(5)等。数组按照下标的个数分为一维数组(只有一个下标)、二维数组(有两个下标)和多维数组(有多于2个下标)。除了普通变量能采用数组形式外,对象、控件、单元格等都可以采用数组的形式来表示。对于有规律的变量或对象采用数组的形式可以方便的配合循环语句来简化代码、提高执行效率,不过会占用更多的内存资源,因此是一种空间换时间的方法。
  其次,在学习具体变量之前,我们还要谈谈计算机是如何保存和处理各类数据的。按照数据的种类和载体我们大致可以分为这么几类,数字、西文字符、中文字符、图形、动画、视频、音频等。这些数据在计算机中都被翻译为2进制来保存。比如数字,分为整形、浮点型、单精度、双精度、长整形等,按照2的N次幂的方法计算所能保存的最大数和最小数来确定范围;再比如数字型字符和西文字符,都是按照ASCII编码来保存的,一个字符占用一个字节(8位二进制);中文字符由于数量众多,就采用国际标准交换代码来保存,一个字符占用二个字节(16位二进制);图形、动画、视频和音频数据就更为复杂,一般通过引用(在变量中保存能找到这些数据的地址)的方法保存。
  最后,我们来看看学习变量需要重点掌握哪些内容。一是要十分清楚每种变量类型所对应的取值范围。根据我们第二点讲解的计算机保存各类数据的方法,对应不同类别变量的取值范围是存在不同的。BYTE字节型变量,只能存放1个字节的内容,因此你不能将一个汉字字符保存到一个字节型变量中,也为一个汉字字符需要占用2个字节的空间,如果用BYTE型变量保存就会发生溢出错误。具体上述关键字所对应的每种变量的取值范围详见联机帮助。二是变量的本质是一块特定内存区域的名称,我们通过引用这个名称(即变量名)来使用这块系统分配给应用程序的特定内存存放数据。明白了这一点可以帮助我们更好地在程序中使用变量。三是变量的生存周期和作用范围。
26楼
zhyou
一个字“好”,两个字“谢谢”!
27楼
bishunbiao
看来斑竹的入门贴我要全部看一遍啦
28楼
水星钓鱼
学习
29楼
rongjun
感谢分享!
30楼
芐雨
感谢分享
31楼
lrlxxqxa
32楼
老糊涂
系统学习
33楼
omnw
  Byte:字节类型
  Byte变量存储为单精度型、无符号整型、8位(1个字节)的数值形式,范围在0至255之间。
  Integer:整型数值类型。
  Integer变量存储为16位(2个字节)的数值形式,其范围为-32,768到32,767之间。Integer的类型声明字符是百分比符号(%)。
  Long:长整型数值类型。
  Long(长整型)变量存储为32位(4个字节)有符号的数值形式,其范围从-2,147,483,648到2,147,483,647。Long的类型声明字符为和号(&)。
  String:字符串类型。
  符串有两种:变长与定长的字符串。变长字符串最多可包含大约20亿(2^31)个字符。定长字符串可包含1到大约64K(2^16)个字符。String的类型声明字符为美元号($)。
  Boolean:逻辑类型。
  Boolean变量存储为16位(2个字节)的数值形式,但只能是True或是False。
  Single:单精度类型。
  Single(单精度浮点型)变量存储为IEEE32位(4个字节)浮点数值的形式,它的范围在负数的时候是从-3.402823E38到-1.401298E-45,而在正数的时候是从1.401298E-45到3.402823E38。Single的类型声明字符为感叹号(!)。
  Double:双精度类型。
  Double(双精度浮点型)变量存储为IEEE64位(8个字节)浮点数值的形式,它的范围在负数的时候是从-1.79769313486231E308到-4.94065645841247E-324,而正数的时候是从4.94065645841247E-324到1.79769313486232E308。Double的类型声明字符是数字符号(#)。
  Currency:货币数值类型。
  Currency变量存储为64位(8个字节)整型的数值形式,然后除以10,000给出一个定点数,其小数点左边有15位数字,右边有4位数字。这种表示法的范围可以从-922,337,203,685,477.5808到922,337,203,685,477.5807。Currency的类型声明字符为at号(@)。
  Decimal:可以容纳小数的数值类型。
  包含小数数值的数据类型。对于没有小数点的数字,其范围是+/-79,228,162,514,264,337,593,543,950,335。对于有28个小数位的数而言,其范围是+/-7.9228162514264337593543950335。Decimal的最小非零数值可表示为0.0000000000000000000000000001。
  Date:日期类型。
  Date变量存储为IEEE64位(8个字节)浮点数值形式,其可以表示的日期范围从100年1月1日到9999年12月31日,而时间可以从0:00:00到23:59:59。任何可辨认的文本日期都可以赋值给Date变量。日期文字须以数字符号(#)扩起来,例如,#January1,1993#或#1Jan93#。
  Variant:任何数字值或字符串值。
  Variant是一种特殊的数据类型,除了定长String数据及用户定义类型外,可以包含任何种类的数据。Variant也可以包含Empty、Error、Nothing及Null等特殊值。数值数据可以是任何整型或实型数,负数时范围从-1.797693134862315E308到-4.94066E-324,正数时则从4.94066E-324到1.797693134862315E308。通常,数值Variant数据保持为其Variant中原来的数据类型。例如,如果把一个Integer赋值给Variant,则接下来的运算会把此Variant当成Integer来处理。然而,如果算术运数针对含Byte、Integer、Long或Single之一的Variant执行,并当结果超过原来数据类型的正常范围时,则在Variant中的结果会提升到较大的数据类型。如Byte则提升到Integer,Integer则提升到Long,而Long和Single则提升为Double。当Variant变量中有Currency、Decimal及Double值超过它们各自的范围时,会发生错误。
  Object:对象类型。
  Object变量存储为32位(4个字节)的地址形式,其为对象的引用。利用Set语句,声明为Object的变量可以赋值为任何对象的引用。
  用户自定义:利用TYPE语句由用户自己定义的数据类型。
  首先,我们先谈谈VBA中大伙见到的文字有哪些。大家在VBA中能够见到的文字,除了之前列举的几大类关键字(保留字)外,就是些数据和注释了。注释是以西文半角方式的单引号开头的文字,在VBA编辑器里显示为绿色。这些字主要用来注释解说变量或代码的用途。数据则有很多种,这才是我们今天要讲的主要内容。在VBA中,数据按照形态大致分为三类,常量、变量和数组。常量就是指在程序中已经指定的值,并且常量的值在程序中保持不变。举个例子,我们声明一个常量名字叫“Name”,我们在可以在声明的时候直接赋予这个常量一个值比如“张三”。那么在这个程序里,我们就不用直接引用“张三”这个名字了,我们在需要引用的时候只要用Name这个常量就可以替代了。可能有的朋友会说,既然Name就是代表“张三”,那我们为什么不直接在程序里写“张三”呢?这里有这么几个原因。
  一是有可能直接使用“张三”不方便,如果起个有意义的名字更便于阅读和维护代码。二是如果以后需要修改程序,需要将程序中使用到“张三”的地方都改成“李四”,那么如果用引用一个常量的这种方式的话,就只需要修改Name这个常量的值就可以了。变量和常量有点类似,都是以一个名字来命名并赋予一个值给它,不同之处在于,常量的值在整个应用程序代码中是不变的,而变量的值会随着代码位置的不同而发生变化。在这里提供一个小建议,在给变量起名字的时候最好起一些有意义的名字,否则在今后维护代码的时候会遇到困难。比如可以给整型变量加上INT的前缀,如果这个变量用来保存“编号”的,那么可以起这样的名字“INT_name”,如果是保存“生日”的日期型变量呢?可以这样起“DATE_birthday”,等等。再来说说数组,数组也是变量,不同之处是数组是一组变量的集合而不是单个变量。因此,数组一般由变量名和下标组成,例如:NAME(2)、k(5)等。数组按照下标的个数分为一维数组(只有一个下标)、二维数组(有两个下标)和多维数组(有多于2个下标)。除了普通变量能采用数组形式外,对象、控件、单元格等都可以采用数组的形式来表示。对于有规律的变量或对象采用数组的形式可以方便的配合循环语句来简化代码、提高执行效率,不过会占用更多的内存资源,因此是一种空间换时间的方法。
  其次,在学习具体变量之前,我们还要谈谈计算机是如何保存和处理各类数据的。按照数据的种类和载体我们大致可以分为这么几类,数字、西文字符、中文字符、图形、动画、视频、音频等。这些数据在计算机中都被翻译为2进制来保存。比如数字,分为整形、浮点型、单精度、双精度、长整形等,按照2的N次幂的方法计算所能保存的最大数和最小数来确定范围;再比如数字型字符和西文字符,都是按照ASCII编码来保存的,一个字符占用一个字节(8位二进制);中文字符由于数量众多,就采用国际标准交换代码来保存,一个字符占用二个字节(16位二进制);图形、动画、视频和音频数据就更为复杂,一般通过引用(在变量中保存能找到这些数据的地址)的方法保存。
  最后,我们来看看学习变量需要重点掌握哪些内容。一是要十分清楚每种变量类型所对应的取值范围。根据我们第二点讲解的计算机保存各类数据的方法,对应不同类别变量的取值范围是存在不同的。BYTE字节型变量,只能存放1个字节的内容,因此你不能将一个汉字字符保存到一个字节型变量中,也为一个汉字字符需要占用2个字节的空间,如果用BYTE型变量保存就会发生溢出错误。具体上述关键字所对应的每种变量的取值范围详见联机帮助。二是变量的本质是一块特定内存区域的名称,我们通过引用这个名称(即变量名)来使用这块系统分配给应用程序的特定内存存放数据。明白了这一点可以帮助我们更好地在程序中使用变量。三是变量的生存周期和作用范围。
34楼
zhyou
一个字“好”,两个字“谢谢”!
35楼
bishunbiao
看来斑竹的入门贴我要全部看一遍啦
36楼
水星钓鱼
学习
37楼
rongjun
感谢分享!
38楼
芐雨
感谢分享
39楼
lrlxxqxa
40楼
老糊涂
系统学习
41楼
omnw
  Byte:字节类型
  Byte变量存储为单精度型、无符号整型、8位(1个字节)的数值形式,范围在0至255之间。
  Integer:整型数值类型。
  Integer变量存储为16位(2个字节)的数值形式,其范围为-32,768到32,767之间。Integer的类型声明字符是百分比符号(%)。
  Long:长整型数值类型。
  Long(长整型)变量存储为32位(4个字节)有符号的数值形式,其范围从-2,147,483,648到2,147,483,647。Long的类型声明字符为和号(&)。
  String:字符串类型。
  符串有两种:变长与定长的字符串。变长字符串最多可包含大约20亿(2^31)个字符。定长字符串可包含1到大约64K(2^16)个字符。String的类型声明字符为美元号($)。
  Boolean:逻辑类型。
  Boolean变量存储为16位(2个字节)的数值形式,但只能是True或是False。
  Single:单精度类型。
  Single(单精度浮点型)变量存储为IEEE32位(4个字节)浮点数值的形式,它的范围在负数的时候是从-3.402823E38到-1.401298E-45,而在正数的时候是从1.401298E-45到3.402823E38。Single的类型声明字符为感叹号(!)。
  Double:双精度类型。
  Double(双精度浮点型)变量存储为IEEE64位(8个字节)浮点数值的形式,它的范围在负数的时候是从-1.79769313486231E308到-4.94065645841247E-324,而正数的时候是从4.94065645841247E-324到1.79769313486232E308。Double的类型声明字符是数字符号(#)。
  Currency:货币数值类型。
  Currency变量存储为64位(8个字节)整型的数值形式,然后除以10,000给出一个定点数,其小数点左边有15位数字,右边有4位数字。这种表示法的范围可以从-922,337,203,685,477.5808到922,337,203,685,477.5807。Currency的类型声明字符为at号(@)。
  Decimal:可以容纳小数的数值类型。
  包含小数数值的数据类型。对于没有小数点的数字,其范围是+/-79,228,162,514,264,337,593,543,950,335。对于有28个小数位的数而言,其范围是+/-7.9228162514264337593543950335。Decimal的最小非零数值可表示为0.0000000000000000000000000001。
  Date:日期类型。
  Date变量存储为IEEE64位(8个字节)浮点数值形式,其可以表示的日期范围从100年1月1日到9999年12月31日,而时间可以从0:00:00到23:59:59。任何可辨认的文本日期都可以赋值给Date变量。日期文字须以数字符号(#)扩起来,例如,#January1,1993#或#1Jan93#。
  Variant:任何数字值或字符串值。
  Variant是一种特殊的数据类型,除了定长String数据及用户定义类型外,可以包含任何种类的数据。Variant也可以包含Empty、Error、Nothing及Null等特殊值。数值数据可以是任何整型或实型数,负数时范围从-1.797693134862315E308到-4.94066E-324,正数时则从4.94066E-324到1.797693134862315E308。通常,数值Variant数据保持为其Variant中原来的数据类型。例如,如果把一个Integer赋值给Variant,则接下来的运算会把此Variant当成Integer来处理。然而,如果算术运数针对含Byte、Integer、Long或Single之一的Variant执行,并当结果超过原来数据类型的正常范围时,则在Variant中的结果会提升到较大的数据类型。如Byte则提升到Integer,Integer则提升到Long,而Long和Single则提升为Double。当Variant变量中有Currency、Decimal及Double值超过它们各自的范围时,会发生错误。
  Object:对象类型。
  Object变量存储为32位(4个字节)的地址形式,其为对象的引用。利用Set语句,声明为Object的变量可以赋值为任何对象的引用。
  用户自定义:利用TYPE语句由用户自己定义的数据类型。
  首先,我们先谈谈VBA中大伙见到的文字有哪些。大家在VBA中能够见到的文字,除了之前列举的几大类关键字(保留字)外,就是些数据和注释了。注释是以西文半角方式的单引号开头的文字,在VBA编辑器里显示为绿色。这些字主要用来注释解说变量或代码的用途。数据则有很多种,这才是我们今天要讲的主要内容。在VBA中,数据按照形态大致分为三类,常量、变量和数组。常量就是指在程序中已经指定的值,并且常量的值在程序中保持不变。举个例子,我们声明一个常量名字叫“Name”,我们在可以在声明的时候直接赋予这个常量一个值比如“张三”。那么在这个程序里,我们就不用直接引用“张三”这个名字了,我们在需要引用的时候只要用Name这个常量就可以替代了。可能有的朋友会说,既然Name就是代表“张三”,那我们为什么不直接在程序里写“张三”呢?这里有这么几个原因。
  一是有可能直接使用“张三”不方便,如果起个有意义的名字更便于阅读和维护代码。二是如果以后需要修改程序,需要将程序中使用到“张三”的地方都改成“李四”,那么如果用引用一个常量的这种方式的话,就只需要修改Name这个常量的值就可以了。变量和常量有点类似,都是以一个名字来命名并赋予一个值给它,不同之处在于,常量的值在整个应用程序代码中是不变的,而变量的值会随着代码位置的不同而发生变化。在这里提供一个小建议,在给变量起名字的时候最好起一些有意义的名字,否则在今后维护代码的时候会遇到困难。比如可以给整型变量加上INT的前缀,如果这个变量用来保存“编号”的,那么可以起这样的名字“INT_name”,如果是保存“生日”的日期型变量呢?可以这样起“DATE_birthday”,等等。再来说说数组,数组也是变量,不同之处是数组是一组变量的集合而不是单个变量。因此,数组一般由变量名和下标组成,例如:NAME(2)、k(5)等。数组按照下标的个数分为一维数组(只有一个下标)、二维数组(有两个下标)和多维数组(有多于2个下标)。除了普通变量能采用数组形式外,对象、控件、单元格等都可以采用数组的形式来表示。对于有规律的变量或对象采用数组的形式可以方便的配合循环语句来简化代码、提高执行效率,不过会占用更多的内存资源,因此是一种空间换时间的方法。
  其次,在学习具体变量之前,我们还要谈谈计算机是如何保存和处理各类数据的。按照数据的种类和载体我们大致可以分为这么几类,数字、西文字符、中文字符、图形、动画、视频、音频等。这些数据在计算机中都被翻译为2进制来保存。比如数字,分为整形、浮点型、单精度、双精度、长整形等,按照2的N次幂的方法计算所能保存的最大数和最小数来确定范围;再比如数字型字符和西文字符,都是按照ASCII编码来保存的,一个字符占用一个字节(8位二进制);中文字符由于数量众多,就采用国际标准交换代码来保存,一个字符占用二个字节(16位二进制);图形、动画、视频和音频数据就更为复杂,一般通过引用(在变量中保存能找到这些数据的地址)的方法保存。
  最后,我们来看看学习变量需要重点掌握哪些内容。一是要十分清楚每种变量类型所对应的取值范围。根据我们第二点讲解的计算机保存各类数据的方法,对应不同类别变量的取值范围是存在不同的。BYTE字节型变量,只能存放1个字节的内容,因此你不能将一个汉字字符保存到一个字节型变量中,也为一个汉字字符需要占用2个字节的空间,如果用BYTE型变量保存就会发生溢出错误。具体上述关键字所对应的每种变量的取值范围详见联机帮助。二是变量的本质是一块特定内存区域的名称,我们通过引用这个名称(即变量名)来使用这块系统分配给应用程序的特定内存存放数据。明白了这一点可以帮助我们更好地在程序中使用变量。三是变量的生存周期和作用范围。
42楼
zhyou
一个字“好”,两个字“谢谢”!
43楼
bishunbiao
看来斑竹的入门贴我要全部看一遍啦
44楼
水星钓鱼
学习
45楼
rongjun
感谢分享!
46楼
芐雨
感谢分享
47楼
lrlxxqxa
48楼
老糊涂
系统学习
49楼
omnw
  Byte:字节类型
  Byte变量存储为单精度型、无符号整型、8位(1个字节)的数值形式,范围在0至255之间。
  Integer:整型数值类型。
  Integer变量存储为16位(2个字节)的数值形式,其范围为-32,768到32,767之间。Integer的类型声明字符是百分比符号(%)。
  Long:长整型数值类型。
  Long(长整型)变量存储为32位(4个字节)有符号的数值形式,其范围从-2,147,483,648到2,147,483,647。Long的类型声明字符为和号(&)。
  String:字符串类型。
  符串有两种:变长与定长的字符串。变长字符串最多可包含大约20亿(2^31)个字符。定长字符串可包含1到大约64K(2^16)个字符。String的类型声明字符为美元号($)。
  Boolean:逻辑类型。
  Boolean变量存储为16位(2个字节)的数值形式,但只能是True或是False。
  Single:单精度类型。
  Single(单精度浮点型)变量存储为IEEE32位(4个字节)浮点数值的形式,它的范围在负数的时候是从-3.402823E38到-1.401298E-45,而在正数的时候是从1.401298E-45到3.402823E38。Single的类型声明字符为感叹号(!)。
  Double:双精度类型。
  Double(双精度浮点型)变量存储为IEEE64位(8个字节)浮点数值的形式,它的范围在负数的时候是从-1.79769313486231E308到-4.94065645841247E-324,而正数的时候是从4.94065645841247E-324到1.79769313486232E308。Double的类型声明字符是数字符号(#)。
  Currency:货币数值类型。
  Currency变量存储为64位(8个字节)整型的数值形式,然后除以10,000给出一个定点数,其小数点左边有15位数字,右边有4位数字。这种表示法的范围可以从-922,337,203,685,477.5808到922,337,203,685,477.5807。Currency的类型声明字符为at号(@)。
  Decimal:可以容纳小数的数值类型。
  包含小数数值的数据类型。对于没有小数点的数字,其范围是+/-79,228,162,514,264,337,593,543,950,335。对于有28个小数位的数而言,其范围是+/-7.9228162514264337593543950335。Decimal的最小非零数值可表示为0.0000000000000000000000000001。
  Date:日期类型。
  Date变量存储为IEEE64位(8个字节)浮点数值形式,其可以表示的日期范围从100年1月1日到9999年12月31日,而时间可以从0:00:00到23:59:59。任何可辨认的文本日期都可以赋值给Date变量。日期文字须以数字符号(#)扩起来,例如,#January1,1993#或#1Jan93#。
  Variant:任何数字值或字符串值。
  Variant是一种特殊的数据类型,除了定长String数据及用户定义类型外,可以包含任何种类的数据。Variant也可以包含Empty、Error、Nothing及Null等特殊值。数值数据可以是任何整型或实型数,负数时范围从-1.797693134862315E308到-4.94066E-324,正数时则从4.94066E-324到1.797693134862315E308。通常,数值Variant数据保持为其Variant中原来的数据类型。例如,如果把一个Integer赋值给Variant,则接下来的运算会把此Variant当成Integer来处理。然而,如果算术运数针对含Byte、Integer、Long或Single之一的Variant执行,并当结果超过原来数据类型的正常范围时,则在Variant中的结果会提升到较大的数据类型。如Byte则提升到Integer,Integer则提升到Long,而Long和Single则提升为Double。当Variant变量中有Currency、Decimal及Double值超过它们各自的范围时,会发生错误。
  Object:对象类型。
  Object变量存储为32位(4个字节)的地址形式,其为对象的引用。利用Set语句,声明为Object的变量可以赋值为任何对象的引用。
  用户自定义:利用TYPE语句由用户自己定义的数据类型。
  首先,我们先谈谈VBA中大伙见到的文字有哪些。大家在VBA中能够见到的文字,除了之前列举的几大类关键字(保留字)外,就是些数据和注释了。注释是以西文半角方式的单引号开头的文字,在VBA编辑器里显示为绿色。这些字主要用来注释解说变量或代码的用途。数据则有很多种,这才是我们今天要讲的主要内容。在VBA中,数据按照形态大致分为三类,常量、变量和数组。常量就是指在程序中已经指定的值,并且常量的值在程序中保持不变。举个例子,我们声明一个常量名字叫“Name”,我们在可以在声明的时候直接赋予这个常量一个值比如“张三”。那么在这个程序里,我们就不用直接引用“张三”这个名字了,我们在需要引用的时候只要用Name这个常量就可以替代了。可能有的朋友会说,既然Name就是代表“张三”,那我们为什么不直接在程序里写“张三”呢?这里有这么几个原因。
  一是有可能直接使用“张三”不方便,如果起个有意义的名字更便于阅读和维护代码。二是如果以后需要修改程序,需要将程序中使用到“张三”的地方都改成“李四”,那么如果用引用一个常量的这种方式的话,就只需要修改Name这个常量的值就可以了。变量和常量有点类似,都是以一个名字来命名并赋予一个值给它,不同之处在于,常量的值在整个应用程序代码中是不变的,而变量的值会随着代码位置的不同而发生变化。在这里提供一个小建议,在给变量起名字的时候最好起一些有意义的名字,否则在今后维护代码的时候会遇到困难。比如可以给整型变量加上INT的前缀,如果这个变量用来保存“编号”的,那么可以起这样的名字“INT_name”,如果是保存“生日”的日期型变量呢?可以这样起“DATE_birthday”,等等。再来说说数组,数组也是变量,不同之处是数组是一组变量的集合而不是单个变量。因此,数组一般由变量名和下标组成,例如:NAME(2)、k(5)等。数组按照下标的个数分为一维数组(只有一个下标)、二维数组(有两个下标)和多维数组(有多于2个下标)。除了普通变量能采用数组形式外,对象、控件、单元格等都可以采用数组的形式来表示。对于有规律的变量或对象采用数组的形式可以方便的配合循环语句来简化代码、提高执行效率,不过会占用更多的内存资源,因此是一种空间换时间的方法。
  其次,在学习具体变量之前,我们还要谈谈计算机是如何保存和处理各类数据的。按照数据的种类和载体我们大致可以分为这么几类,数字、西文字符、中文字符、图形、动画、视频、音频等。这些数据在计算机中都被翻译为2进制来保存。比如数字,分为整形、浮点型、单精度、双精度、长整形等,按照2的N次幂的方法计算所能保存的最大数和最小数来确定范围;再比如数字型字符和西文字符,都是按照ASCII编码来保存的,一个字符占用一个字节(8位二进制);中文字符由于数量众多,就采用国际标准交换代码来保存,一个字符占用二个字节(16位二进制);图形、动画、视频和音频数据就更为复杂,一般通过引用(在变量中保存能找到这些数据的地址)的方法保存。
  最后,我们来看看学习变量需要重点掌握哪些内容。一是要十分清楚每种变量类型所对应的取值范围。根据我们第二点讲解的计算机保存各类数据的方法,对应不同类别变量的取值范围是存在不同的。BYTE字节型变量,只能存放1个字节的内容,因此你不能将一个汉字字符保存到一个字节型变量中,也为一个汉字字符需要占用2个字节的空间,如果用BYTE型变量保存就会发生溢出错误。具体上述关键字所对应的每种变量的取值范围详见联机帮助。二是变量的本质是一块特定内存区域的名称,我们通过引用这个名称(即变量名)来使用这块系统分配给应用程序的特定内存存放数据。明白了这一点可以帮助我们更好地在程序中使用变量。三是变量的生存周期和作用范围。
50楼
zhyou
一个字“好”,两个字“谢谢”!
51楼
bishunbiao
看来斑竹的入门贴我要全部看一遍啦
52楼
水星钓鱼
学习
53楼
rongjun
感谢分享!
54楼
芐雨
感谢分享
55楼
lrlxxqxa
56楼
老糊涂
系统学习

免责声明

有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素, 经与ExcelTip.Net站长Apolloh商议并征得其同意, 现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示, 供有需要的人士查询使用,也慰缅曾经的论坛时代。 所示各个帖子的原作者如对版权有异议, 可与本人沟通提出,或于本站点留言,我们会尽快处理。 在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一

评论列表
sitemap