在vba中打开表单时禁用checkbox
我有3个checkbox。 当用户打开我的表单时,他/她不能选中checkbox。 我希望他们被禁用。 我怎样才能做到这一点?
不知道你的意思是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
现场GIF演示
你必须写一些VBA代码才能做到这一点。
假设您的第一张表中有3个checkbox。
通过在键盘上按住“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工作簿”types(.xls)
closures你的excel。
打开你以前保存的文件,一切都会正常工作。
;)
PS:从你的Excel设置中启用macros很重要