驽马十驾 才定不舍

日常工作生活中碰到的技术问题及解决办法

【VBA研究】变量定义的类型和实际赋值类型

作者:iamlaosong

    VBA中变量可以先定义后使用,也可以不定义直接使用。如果模块前面加了Option Explicit语句,则变量必须先定义后使用。不过,实验发现,VBA对变量类型没有进行严格的管控,不管哪种情况,定义的类型和实际使用中赋值类型并没有什么关系,也就是说定义为integer的变量同样赋值字符串,反之也然。

这样的结果往往会在程序中产生歧义,导致错误的运行结果。例如下面的语句:

    Dim  Scan(3000), BarCode As String

    。。。

    BarCode = Cells(row2, 5)

    If Scan(row1) = BarCode Then

    。。。

这时BarCode保存值的类型由单元格的类型决定,特别是单元格的内容为数字时,BarCode保存值的可能是字符,也可能是数字,这很容易混淆,当你用BarCode和其它变量比较时,如果类型不对,即便数字相同,也会不等,所以编程中要特别注意,对这种可能引起混淆的情况,要强制进行转换,防止出错,即:

    BarCode = CStr(Cells(2, 5))


阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/iamlaosong/article/details/46828387
个人分类: VBA_Excel
上一篇【VBA研究】如何在if中判断一个值为null的变量
下一篇【VBA研究】进入文本框后其内容全选
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭