由于无法可靠地调整复选框表单控件的大小,我使用一些代码来使用命令按钮模拟复选框。我使用
ChrW(&H2714)
生成复选标记作为按钮的标题文本。
该代码有效,但当我随后单击工作表的任何部分时,复选标记会变成问号(?)。我什至都不是一个合格的程序员,所以请让我知道我是否在自费做一些事情。
这是我的代码:
Private Sub CommandButton1_Click()
CommandButton1.Caption = IIf(CommandButton1.Caption = "", ChrW(&H2714), "")
CommandButton1.BackColor = IIf(CommandButton1.BackColor = RGB(255, 255, 255), RGB(0, 255, 255), RGB(255, 255, 255))
If CommandButton1.Caption = ChrW(&H2714) Then
ActiveWorksheet.Range("L20") = Now() & " -" & Environ$("username")
ActiveWorksheet.Range("A20:N21").Interior.ColorIndex = 15
Else
ActiveWorksheet.Range("L20") = ""
ActiveWorksheet.Range("A20:N21").Interior.ColorIndex = 2
End If
End Sub
您可以使用带有“检查”符号的字体。
这对我有用:
Private Sub CommandButton1_Click()
Dim checked As Boolean
With CommandButton1 'caption font set to WebDings
checked = Not .Caption = "a" 'toggle checked state
.Caption = IIf(checked, "a", "")
.BackColor = IIf(checked, RGB(0, 255, 255), RGB(255, 255, 255))
With Me
.Range("L20") = IIf(checked, Now() & " -" & Environ$("username"), "")
.Range("A20:N21").Interior.ColorIndex = IIf(checked, 15, 2)
End With
End With
End Sub