使用VBA复选框显示Else值

时间:2017-12-18 11:44:35

标签: excel vba excel-vba userform

如果选中该复选框,则此代码用于放置单词“New”,如果未选中,则选中✓复选标记。

If CheckBox2.Value = False Then
Cells(3, 3) = ChrW(&H2713)  # <-- checkmark ✓
Else: Cells(3, 3) = "New"
End If

但是,目前,如果选中此复选框,则只会显示“新建”一词,但如果未选中,则不会添加✓复选标记!当他们选中复选框然后取消选中复选框时,我可以显示一个复选标记,但这很麻烦。

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:2)

这可能是最简单的&amp;最脏的解决方案:

Private Sub CheckBox1_Click()        
    If CheckBox1.Value Then
        Cells(3, 3) = "New"
    Else
        Cells(3, 3) = ChrW(&H2713)
    End If        
End Sub

每次选中此复选框时,都会使用更新C3单元格。有一种更好的方法,但它需要面向对象的编程 - Is VBA an OOP language, and does it support polymorphism?

参考&#34;更好的方式&#34;: