selectievakje aan/uit

Status
Niet open voor verdere reacties.

Macro Man

Gebruiker
Lid geworden
17 dec 2007
Berichten
48
Hallo allemaal,

Het leek mij handig om in een bestandje een knop toe te voegen, die alle selectie vlakken in een keer aanzet.

Hoe zet ik dat nou weer in VBA?

Hoe beschrijf ik de kies vlakjes, om een vlakje te verandere probeerde ik dit, maar het werkte niet.
Code:
Private Sub CommandButton1_Click()

Selectievakje 1 = True

End Sub

Macro Man
 
Het is al even geleden maar volgens mij zoek je dit

selectievakje1.checked = true
 
aanzetten doe je met
Code:
selectievakje1.value = true
mvg leo
 
nuja, dan hangt het er vanaf of hij echt aanzetten bedoeld, of dat hij bedoel dat het vinkje erin staat.
 
Bedank voor jullie snelle reacties :D

Ik bedoelde gewoon aan finken.

De formule werkte niet, met de naam "Selectievakje 1", waarna ik het probeerde met een selectievlak uit Werkset Besturings elementen. Deze noemt hij automatisch "CheckBox1",
waarmee de formule wel werkt. Het andere selectie vlakje had ik uit het werkblad "Formulieren" gehaald.

Van de seletievlakken uit formulieren heb ik er al een heleboel een tekst gegeven, hoe zou ik ervoor kunnen zorgen dat hij ze wel pakt. ( Het lukt me ook niet hiervan de naam te verandere.

MM
 
Metteen ook een nieuwe vraag, hoe lat ik hem het makkelijkste allen selectie vlakken afgaan.
Dit is wat ik heb gemaakt, maar natuurlijk niet werkt:
Code:
Private Sub CommandButton1_Click()

Dim i As Integer
Dim CheckboxI As String

For i = 1 To 3
    Set CheckboxI = "Checkbox" + i
    If CheckboxI.Value = True Then
        CheckboxI.Value = False
    Else
        If CheckboxI.Value = False Then
            CheckboxI.Value = True
        End If
    End If
Next i

End Sub

Het liefst zou ik zelfs eigenlijk willen dat hij het aantal selectie velden teld en vervolgens allemaal afgaat, zodat altijd allen selectievlakken meegeteld worden, ook als het aantal veranderd.

Macro man
 
Opmerking over de code:

Code:
If CheckboxI.Value = True Then
        CheckboxI.Value = False
    Else
        If CheckboxI.Value = False Then
            CheckboxI.Value = True
        End If
    End If

schrijf je beter als:

Code:
CheckboxI.Value = Not CheckboxI.Value

Not keert True en False om.

Wigi
 
We hebben het over gebruik in excel en daaar staan de checkboxen op een werkblad?
In dat geval werkt het waarschijnlijk wel waanneer je dat werkblad vernoemd,
dat doe je zo:

Code:
with worksheets("bladnaam")
                 .selectievakje1.value = true
                 .selectievakje2.value = true
                   (hier komt de rest van de selectievakjes)
end with
 
Laatst bewerkt:
Ik zag pas later dat je de waarde van de checkboxen in een loop wil aanpassen.
ik dacht dat dit niet mogelijk was, daar je dan eigenschappen en variabelen door elkaar gooit.
Mogelijk heeft Wigi (of iemand anders natuurlijk) andere info over.
mvg leo
 
Code:
Sub aanvinken_checkboxen()
Dim Sh As OLEObject
For Each Sh In ActiveSheet.OLEObjects
If TypeName(Sh.Object) = "CheckBox" Then
Sh.Object.Value = True
End If
Next Sh
End Sub


zet deze code onder het blad waar ze op staan en hij doet het.

(Met dank aan eric cirkel die mij heeft geholpen met textboxen)
 
Nou weer bedankt allemaal hij doet precies wat ik wil. Ik heb de functie gecombineerd met de de functie van wigi. Ik was zelf niet zo snel achter die OLEObjects gekomen.
 
Nou weer bedankt allemaal, hij doet precies wat ik wil. Ik heb de functie gecombineerd met de de functie van wigi. Ik was zelf niet zo snel achter die OLEObjects gekomen.

:shocked:Macroman:D
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan