码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2015-07-10 13:27:46      阅读:150      评论:0      收藏:0      [点我收藏+]

标签:

作者: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))


版权声明:本文为博主原创文章,未经博主允许不得转载。

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

标签:

原文地址:http://blog.csdn.net/iamlaosong/article/details/46828387

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!