• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

VBA Check/Uncheck selectievakjes

Status
Niet open voor verdere reacties.

Digilike

Gebruiker
Lid geworden
4 jan 2018
Berichten
33
Kan iemand mij helpen met een VBA module? Ik heb een excelbestand met selectievakjes. Nu zag ik op internet een VBA module die ervoor zorgt dat je door te klikken op een van de vakjes ervoor kunt zorgen dat alle andere selectievakjes aan of uit gecheckt worden. Het principe is erop gebaseerd dat de andere vakjes dezelfde waarde overnemen als van het vakje waar je op klikt. Dat vakje heet Check Box 3.

De code in de module is als volgt

Code:
Sub AllCheckboxes()

Dim vinkje As CheckBox

For Each vinkje In ActiveSheet.CheckBoxes

 If vinkje.Name <> ActiveSheet.CheckBoxes("Checkbox 3").Name Then
       vinkje.Value = ActiveSheet.CheckBoxes("Checkbox 3").Value
        
  End If

Next

End Sub

So far so good. Maar als ik de macro run, dan krijg ik de volgende foutmelding (zie onderstaand screenshot). Aangezien ik geen verstand van VBA heb, kom ik hier niet uit.

Schermafbeelding 2018-08-01 om 13.02.03.png

O ja, nog even een screenshot van het Excel blad...

Schermafbeelding 2018-08-01 om 13.07.03.png

Hier het originele bestand...
 

Bijlagen

Laatst bewerkt:
Zijn het worksheet checkboxes of ActiveX Checkboxes?
Je kan beter je document plaatsen in plaats van plaatjes.
 
Waarom plaats je dat bestand niet gewoon hier?
 
Je gebruikt onjuiste object namen:
Code:
Sub AllCheckboxes()
    Dim vinkje As CheckBox

    For Each vinkje In ActiveSheet.CheckBoxes
        If vinkje.Name <> "Check Box 3" Then
            vinkje.Value = ActiveSheet.CheckBoxes("Check Box 3").Value
        End If
    Next
End Sub

Dat is dus aan een plaatje niet te zien.
Plaats altijd een relevant voorbeeld document.
 
Laatst bewerkt:
Je gebruikt onjuiste object namen:
Code:
Sub AllCheckboxes()
    Dim vinkje As CheckBox

    For Each vinkje In ActiveSheet.CheckBoxes
        If vinkje.Name <> "Check Box 3" Then
            vinkje.Value = ActiveSheet.CheckBoxes("Check Box 3").Value
        End If
    Next
End Sub


Dat is dus aan een plaatje niet te zien.
Plaats altijd een relevant voorbeeld document.
Ik wist dat niet. Zal het onthouden voor een eventueel volgende keer.
 
Graag gedaan :)
 
Dat gaat niet werken voor een Nederlandstalig Excel.
Bij mij heten ze selectievakje 3, 9,10 en 11.

Plaats de code in bladmodule van toepassing en koppel het aan het eerste vakje.
Code:
Sub AllCheckboxes()
Dim j As Long
  For j = 2 To CheckBoxes.Count
   CheckBoxes(j).Value = CheckBoxes(1).Value
  Next
End Sub
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan