VBA数据类型学习心得

  • Post author:
  • Post category:其他

VBA,Visual Basic for Applications,Excel软件中开启开发者模式,使用VB开发Excel处理程序,提高办公效率。

最近学习《全民一起VBA》网课,很有启发性,基础篇快速上手,提高篇从底层编程逻辑细节讲起,特对讲到的VBA数据类型一点知识做个记录。

例子:

Dim a

a=30000*2

会报错,因为结果超出了Integer类型的最大取值,需要修改。

Dim a as Long

a=30000 * 2

仍然会报错,课程里讲了公式运算的基本原理,具体为:
    ‘第一步:申请临时空间(!!!),用于存放中间结果
        ‘临时空间分配原则,选择参与运算的数字/变量中最大的数据类型
        ‘除法操作例外,均采用Double类型空间
    ‘第二步:计算右边算式结果,保存到临时空间
    ‘第三步:临时空间的内容,复制到左边变量

因而,发现无论变量a如何定义,右边计算都会报错,需要在了解原理的基础上修改。

Dim a

a=30000& * 2

通过&首先就提醒了30000在内存中需要采用的存储类型,结果就不会有问题了。

 

1. VBA中的数据类型有Integer、Double等,其中:

Integer整形,2个字节,涵盖数字范围为-32767到+32767;

Double为双精度,8个字节,涵盖数字范围就比较大了。

2. 数字运算符有+,-,*,/,\,其中:

/表示除法,\表示取整

 

该专题的拓展练习:

Dim i%, k&

(1)

i=32766+5\3

k=32765+i

第一行右边都是整形数据,符合变量i,但是第二行右侧结果会溢出

(2)

i=32766+5/3

k=32765+i

第一行右边结果大于整形Integer最大取值范围,会溢出

(3)

i=8/3

k=32765+i

第一行会取整为3,第二行结果溢出

 

 


版权声明:本文为jackaakn原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。