2017-07-25 1 views
0

Ich habe 3 Kontrollkästchen. Wenn ein Benutzer mein Blatt öffnet, darf er die Kontrollkästchen nicht aktivieren. Ich möchte, dass sie behindert sind. Wie kann ich das machen?Kontrollkästchen deaktivieren, wenn das Blatt in VBA geöffnet wurde

+0

Disabled Bedeutung deaktiviert auf offen zu aktivieren, oder Sie nicht wollen, um den Benutzer aktivieren/deaktivieren, sie zu dürfen? – BruceWayne

+0

Ich meine, dass der Benutzer nicht erlaubt, sie zu aktivieren/deaktivieren. Entschuldigung für die fehlenden Informationen. – elfakrs

Antwort

1

Nicht sicher, ob Sie ActiveX oder Formcontrol, bedeutete so hier Sie

gehen

-Code

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 

Live-GIF-Demo enter image description here

+0

Vielen Dank! Es hat perfekt funktioniert! – elfakrs

+0

Gern geschehen :) –

0

Sie haben einige VBA-Code zu schreiben, um das zu tun .

Nehmen wir an, Sie haben 3 CheckBoxes in Ihrem ersten Blatt.

enter image description here

Durch die "Alt" -Taste auf Ihrer Tastatur gedrückt halten und die Taste einmal, um die "F11" -Taste, öffnet Microsoft Visual Basic. (Alt + F11)

Auf Ihrer linken Seite können Sie den "VBAProject" -Baum sehen.

Klicken Sie doppelt auf die "Thisworkbook" Datei, und kopieren Sie den folgenden Code in dem Fenster erscheint es:

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 

Speichern Sie die Excel-Datei als "Excel 97-2003-Arbeitsmappe" Typ (.xls)

Schließen Sie Ihre Excel.

Öffnen Sie die Datei, die Sie zuvor gespeichert haben, und alles funktioniert einwandfrei.

;)

P. S .: Es ist wichtig Makros aus Excel-Einstellungen

+0

Vielen Dank! – elfakrs

Verwandte Themen