【发布时间】:2017-07-26 06:35:01
【问题描述】:
我有 3 个复选框。当用户打开我的工作表时,他/她不能选中复选框。我希望他们被禁用。我怎样才能做到这一点?
【问题讨论】:
-
Disabled 表示在打开时禁用,或者您不希望用户被允许选中/取消选中它们?
-
我的意思是不允许用户选中/取消选中它们。很抱歉缺少信息。
我有 3 个复选框。当用户打开我的工作表时,他/她不能选中复选框。我希望他们被禁用。我怎样才能做到这一点?
【问题讨论】:
不确定您是指 ActiveX 还是 FormControl,所以请继续
代码
Private Sub Worksheet_Activate()
Dim myActiveX As Object
Set myActiveX = Sheet1.OLEObjects("CheckBox1")
myActiveX.Object.Value = True
myActiveX.Object.Locked = False ' Make it False if you wish to enable it
myActiveX.Object.Enabled = False ' Another option to disable
Dim myFormControl As CheckBox
Set myFormControl = ActiveSheet.Shapes("Check Box 1").OLEFormat.Object
myFormControl.Value = True
myFormControl.Enabled = False ' Make it True if you wish to enable it
End Sub
【讨论】:
您必须编写一些 VBA 代码才能做到这一点。
假设您的第一张表中有 3 个复选框。
按住键盘上的“Alt”键并按一次“F11”键,打开 Microsoft Visual Basic。 ( Alt + F11 )
在您的左侧,您可以看到“VBAProject”树。
双击“ThisWorkbook”文件,在出现的窗口中复制以下代码:
Private Sub Workbook_Open()
void = uncheckAllCheckboxes()
End Sub
Function uncheckAllCheckboxes()
ThisWorkbook.Worksheets(1).CheckBox1.Value = False
ThisWorkbook.Worksheets(1).CheckBox2.Value = False
ThisWorkbook.Worksheets(1).CheckBox3.Value = False
End Function
将excel文件保存为“Excel 97-2003 Workbook”类型(.xls)
关闭您的 Excel。
打开你之前保存的文件,一切正常。
;)
P.S.:从 Excel 设置中启用宏很重要
【讨论】: