2017-07-25 61 views
0

我有3個複選框。當用戶打開我的工作表時,他/她不能選中複選框。我希望他們被禁用。我怎樣才能做到這一點?以vba打開工作表時禁用複選框

+0

禁用意義上打開禁用,或者你不希望用戶重要的是要被允許查看/取消他們呢? – BruceWayne

+0

我的意思是用戶不被允許檢查/取消選中它們。對於缺少的信息抱歉。 – elfakrs

回答

1

不知道你的意思是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演示 enter image description here

+0

非常感謝!它非常完美! – elfakrs

+0

不客氣:) –

0

你必須寫一些VBA代碼,爲了做到這一點。

假設您在第一張工作表中有3個CheckBox。

enter image description here

通過按住鍵盤上的「Alt」鍵和按壓一次的「F11」鍵,打開微軟的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工作簿」型(.xls的)

關閉你的excel。

打開你之前保存的文件,一切都會正常工作。

;)

P.S:它使從您的Excel宏設置

+0

非常感謝! – elfakrs