Excel常数“ True”的值为True,常数“ vbTrue”的值为-1。在VBA代码中,我一直将它们视为可互换的,但事实并非如此。这两个常数产生不同结果的地方之一是设置CheckBoxes。将CheckBox.value设置为True会产生预期的结果,但是将其设置为vbTrue会使CheckBox处于TripleState。
Sub setCkBox1()
CheckBox1.TripleState = False
CheckBox1.Value = vbTrue '<<<< the check mark is dimmed to show TripleState is True
Debug.Print CheckBox1.TripleState: Stop '<<<< even though it won't admit it
CheckBox1.Value = True '<<<< check mark is not dimmed
End Sub
所以我的问题是,这两个常量在VBA中还有哪些地方不能互换?
最佳答案
True
是布尔值,vbTrue
是Long。在布尔值和Longs不可互换的任何地方,它们都是不可互换的。
关于excel - vbTrue不是True,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15124840/