Ik heb een userForm gemaakt in de vorm van een checklist met CheckBoxes om aan te vinken, ik wil het verplicht stellen om een van de vakjes van elke regel aan te vinken voordat ik toegang heb tot een combobox die de verschillende modules van de macro groepeert (elke module heeft een vba-code) dan wil ik een CommandButton toevoegen die de gekozen module zal starten.
Ik weet dat het een puinhoop moet zijn voor de VBA-goden, ik ben geen programmeur en ik weet niet of het mogelijk is?
PS: De macro wordt gestart door een tekensoftware (Solidworks), daarom staat de checklist in het gebruikersformulier en niet in een excel sheet.
Bedankt voor je hulp, ik heb mijn userForm gewijzigd met je code voor de checklist die goed is, aan de andere kant in de vervolgkeuzelijst, ik had graag de lijst met de 4 onderstaande modules gehad (zie afbeelding test.jpg) en afhankelijk van de gekozen module, start de module-macro.
En als je je modules echt op code wilt weergeven, moet je iets kunnen doen als:
Private Sub UserForm_Activate()
Dim vbProj As VBProject
Dim vbComp As VBComponent
Dim i As Integer
Dim maMacro As String
maMacro = "MacroUserForm" 'à remplacer par le nom de la macro
For Each vbProj In Application.VBE.VBProjects
i = 1
If vbProj.Name = maMacro Then
For Each vbComp In vbProj.VBComponents
If vbProj.VBComponents.Item(i).Type = 1 Then
ComboBox1.AddItem vbProj.VBComponents.Item(i).Name
End If
i = i + 1
Next
End If
Next
End Sub
Wees voorzichtig, vergeet niet om "Microsoft Visual Basic for Applications Extensibility" in Tools/References te zetten.
Na een paar aanpassingen werkt de userform wel, het toont me alle modules in de drop-down lijst.
Klein probleempje zie bijgevoegd bestand:
1- Vanaf het begin is mijn vervolgkeuzelijst toegankelijk met de keuze uit modules, het zou beter zijn als deze grijs wordt weergegeven zolang de vakjes niet zijn aangevinkt
2- De knop start de module die uit de vervolgkeuzelijst is gekozen niet