解决方案 »

  1.   

    没有强制要求变量声明吧。  模块第一行没有Option Explicit
    建议楼主设置下 工具-选项-勾选“要求变量声明”   初学者务必这样设置下。你的本质目的是测试字符串大小吧。 字符串都得双引号括起来。len(B42-D)得到的是1,细细分析了下。 变量没有声明那么默认B42和D默认是variant,没有初始化值都一样。相减必然是0,那么:
    len(B42-D)  等价于
    len(0)  等价于
    len(str(0))  等价于
    len("0")  ===》1len(3030-c)  等价于
    len(3030-0)  等价于
    len(“3030”)  ===》4好不加双引号也是个变量,空值
    len(好)
    等价于
    Dim 好 As Variant
    MsgBox Len(好)