非常感谢xiehuahere的回答,有关TYPE函数判断变量的数据类型我还是不太明白,在这里可以把它的语法及实例贴过来吗?另外定义一个新的数据类型,比如整数1~100之间的数据?
VBA里可通过VarType()函数来判断数据类型。是字符串,还是字符串数组,就可以知道啦。下面是代码示例:
Sub Test_Data_Type()
Const TEST_STRING = "Let me see."
Dim TEST_ARRAY
TEST_ARRAY = Array("Go1", "Go2")
myDataType = VarType(TEST_ARRAY) '这里楼主可换成 TEST_STRING 试试
If myDataType = vbString Then
MsgBox "This is not an array!"
End If
If myDataType = vbVariant + vbArray Then '【注1】
MsgBox "This is an array!"
End If
End Sub
【注1】帮助文档里说,Array()函数返回值为包含一个数组的Variant类型,即类型为vbVariant(12) + vbArray(8192) = 8204
---------------------------------------------------------------
把帮助文档内容贴过来的话格式都乱了,很难看,所以建议还是直接去帮助文档里面看。Excel里面按Alt+F11打开VBE,然后从帮助菜单里打开帮助,搜索VarType。帮助文档里面有例子。我上面写的代码也是例子。只能说到这份上了。学会看帮助事半功倍。
整数1~100之间的数据不还是整数吗?Integer类型(整型)。
Dim myData As Integer
这样就行了。不知道我理解得有问题没。
修改回答的次数是有限制的,我快达到上限了,有问题hi我吧。
总之,我想,授人以渔才是正道,才能解决根本问题,对吧?
Sub Test_Data_Type()
Const TEST_STRING = "Let me see."
Dim TEST_ARRAY
TEST_ARRAY = Array("Go1", "Go2")
myDataType = VarType(TEST_ARRAY) '这里楼主可换成 TEST_STRING 试试
If myDataType = vbString Then
MsgBox "This is not an array!"
End If
If myDataType = vbVariant + vbArray Then '【注1】
MsgBox "This is an array!"
End If
End Sub
【注1】帮助文档里说,Array()函数返回值为包含一个数组的Variant类型,即类型为vbVariant(12) + vbArray(8192) = 8204
---------------------------------------------------------------
把帮助文档内容贴过来的话格式都乱了,很难看,所以建议还是直接去帮助文档里面看。Excel里面按Alt+F11打开VBE,然后从帮助菜单里打开帮助,搜索VarType。帮助文档里面有例子。我上面写的代码也是例子。只能说到这份上了。学会看帮助事半功倍。
整数1~100之间的数据不还是整数吗?Integer类型(整型)。
Dim myData As Integer
这样就行了。不知道我理解得有问题没。
修改回答的次数是有限制的,我快达到上限了,有问题hi我吧。
总之,我想,授人以渔才是正道,才能解决根本问题,对吧?
温馨提示:答案为网友推荐,仅供参考