我的程序是假设文本的长度是否在1到31之间。
如果长度不在1到31之间,它将在e28返回“FALSE”。
我的问题是无论文本的长度如何,它总是返回“TRUE”请告诉我为什么会发生这种情况。
x = Range("b26").Value
count = Len(x) - Len(Replace(x, "-", ""))
If Len(x) - count > 1 & Len(x) - count < 32 Then
MsgBox Len(x) - count
Range("e28").Value = "TRUE"
Else
Range("e28").Value = "FALSE"
End If
答案 0 :(得分:3)
您需要在And
条件中使用&
而不是If
。
&
是VBA中的字符串连接运算符,在此处不合适。
(True
在VBA中评估为-1的事实也无济于事,&
也有优先级与And
不同。 )