Excel 定数 "True" は True に評価され、定数 "vbTrue" は -1 に評価されます。私は常にこれらを VBA コードで交換できるものとして扱ってきましたが、そうではありません。これら 2 つの定数が異なる結果を生成する場所の 1 つは、CheckBox の設定です。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 の他のどこでこれら 2 つの定数を交換できないのでしょうか?