user362729
user362729

Reputation: 113

How to set checked property in vba (format or control toolbox)

I'm trying to change the value of my checkbox to true based on a another cell's value

if range("A1").value = "green" then
Checkbox1.value= true

end if 

How to I change the value property to true for multiple checkbox at the same time

For some reason the code that i've tried doesn't do anything at all. P.S. I'm using format checkboxes

Upvotes: 8

Views: 75054

Answers (4)

Lance Roberts
Lance Roberts

Reputation: 22840

For ActiveX checkboxes, use this format:

ActiveSheet.OLEObjects("Checkbox1").Object.Value = True

Upvotes: 0

Alexander Suleymanov
Alexander Suleymanov

Reputation: 113

This code is true for Office365:

If range("O26").Value = "green" Then
    CheckBox1 = True
    CheckBox2 = True
End If

Upvotes: 0

Dick Kusleika
Dick Kusleika

Reputation: 33175

This will change all Checkboxes

Sub Changeboxes()

    Dim cb As CheckBox

    If Sheet1.Range("a1").Value = "green" Then
        For Each cb In Sheet1.CheckBoxes
            cb.Value = True
        Next cb
    End If

End Sub

If you need to specify particular checkboxes, then

Sub ChangeSomeCbs()

    If Sheet1.Range("a1").Value = "green" Then
        Sheet1.CheckBoxes("Check Box 1").Value = True
        Sheet1.CheckBoxes("Check Box 2").Value = False
        Sheet1.CheckBoxes("Check Box 3").Value = True
    End If

End Sub

Checkbox and Checkboxes are hidden properties. You won't get intellisense, but they work.

Upvotes: 10

rcriii
rcriii

Reputation: 1

This works fine for me:

If range("O26").Value = "green" Then
    CheckBox1.Value = True
    CheckBox2.Value = True
End If

If you are in design mode this will not work.

Upvotes: 0

Related Questions