心得/经验/绝招
分析使用Len函数判断字符串为空的原理(两个VBA小技巧)
2013-10-30 15:01:43
        判断字符串是否为空时,我们一般的方法是直接使用 strTemp = "",或者使用Len(strTemp) = 0 的方式来判断,后者的速度效率明显是比前者高,这是为什么呢?         原理是,在VBA中,存储一个字符串时,总是在这个字符串的开头以长整数存储其长度,用Len函数取字符串长度时,是直接读取的这个长整数值,不需要重新转换为字符串型,所以速度非常快!         不过 Len(strTemp) = 0 的可读性可能不如 strTemp = "",所以在不影响性能的前提下,为了增强的可读性,可以考虑使用 strTemp = ""。         在代码中,不使用整型(Integer)变量,而是全部使用长整型(Long)变量,因为除了最早期的版本,现在的VBA版本中,VBA把所有的整数都转换为了长整型(即使被声明为整型),所以即使你声明为整型,系统还会先将其转换为长整型再进行计算处理,而直接声明为长整型,省去了转换的步骤。