如果long类型还不够长度怎么办?

在Excel的VBA中,设置为long类型,但数据长度还是不够,应该处理解决?请大家协助

可以用Decimal型,可最大到29位的整数。但声明方式有点曲折:要先把变量定义为Variant型,再用CDec()函数把数据转换为Decimal型,但由于没有其他数据类型放这么大的数值,所以数据在转换前要先放在字符串中:
Dim s As String, n As Variant
s = "3345465677789898990090909"
n = CDec(s)
这时候n就是个Decimal型超大整数变量了。

但必须提醒,Decimal的运行效率是非常非常低的,这就是为什么VB(包括VBA)不直接提供这种数据类型的原因。实际应用中也很少需要用到这么大的数的(Long型最大20多亿一般够用了),你是要计算银河系的直径吗?呵呵

补充一点:如果你处理的数字是无需参与运算的(比如身份证号码、手机号码等),就不需要设为数字类型,设为字符串类型即可。
温馨提示:答案为网友推荐,仅供参考