• 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- txtbox openen afhankelijk van combobox keuze

Status
Niet open voor verdere reacties.

RaymondC

Gebruiker
Lid geworden
10 mrt 2008
Berichten
561
In bijlage een formulier, die nog niet geheel klaar is.
Via 2 comboboxen wordt een keuze gemaakt.

Met deze keuze zouden er bepaalde textboxen moeten openen.
Ik heb deze nu op het formulier gezet.
Maar deze zijn echt afhankelijk van de keuze vanuit de comboboxen.

Hoe kan ik via VBA de juiste textboxen laten verschijnen.
waarde van de textboxen & comboboxen moet dan weggeschreven worden (datum en requestnumber, zullen "vaste" textboxen zijn, maar staan nog niet op het form)

Huidige textboxen zijn voor volgende keuze in de combobox:

Passive - Film
 

Bijlagen

Tekstvakken 'open' je natuurlijk niet, hooguit kun je zichtbaar maken of verbergen. Formulieren kun je openen. Is dat wat je bedoelt?
 
Hier alvast code waarmee je de tekstvakken zichtbaar maakt:
Code:
Private Sub cboSubType_Change()
    Select Case cboSubType
        Case "Capacitors Film"
            For i = 1 To 3
                Me("TextBox" & i).Visible = True
                Me("Label" & i).Visible = True
            Next i
        Case Else
            For i = 1 To 3
                Me("TextBox" & i).Visible = False
                Me("Label" & i).Visible = False
            Next i
    End Select
End Sub
Deze code werkt alleen jofel als je labelnummers overeenkomen met je tekstvaknummers.
 
Is het zichtbaar maken van de textboxen.
Maar ik ga heel veel mogelijke combinaties hebben.
(Active = 18 maal XX textboxen, Connector = 6 maal XX textboxen, Pasive = 18 maal XX textboxen, dit moet ik nog precies uitzoeken hoeveel textboxen per mogleijk optie er zijn)

Voor de andere combinaties moet er een messagebox verschijnen

Is het dan beter om voor elke combinatie een apart form aan te maken, en hierop de textboxen zetten?
 
Hoi,
Is het dan beter om voor elke combinatie een apart form aan te maken, en hierop de textboxen zetten?
In dit geval zou ik tabbladen gebruiken
Groet
 
Kan ook zo:

Code:
Private Sub cboSubType_Change()
   For i = 1 To 3
     Me("TextBox" & i).Visible = cboSubType="Capacitors Film"
     Me("Label" & i).Visible = cboSubType="Capacitors Film"
   Next
End Sub
 
Het vullen van cboSubType kan ook wel wat eenvoudiger. bv

Code:
Private Sub cboTypeComp_Change()
    t = Me.cboTypeComp.ListIndex + 1
    cboSubType.List = Sheets("Type_Of_Component").Cells(1).Offset(1, t * 2).Resize(Columns(t * 2 + 1).SpecialCells(2).Count - 1, 1).Value
End Sub
 
Mij leek dit voldoende:

Code:
Private Sub UserForm_Initialize()
   cboTypeComp.List = Sheets("Type_Of_Component").Columns(1).SpecialCells(2).Offset(1).SpecialCells(2).Value
End Sub

Private Sub cboTypeComp_Change()
    cboSubType.List = Sheets("Type_Of_Component").Columns(3 + 2 * cboTypeComp.ListIndex).SpecialCells(2).Offset(1).SpecialCells(2).Value
End Sub

Maar zonder die overbodige kolomkoppen is dit natuurlijk voldoende:
Code:
Private Sub UserForm_Initialize()
   cboTypeComp.List = Sheets("Type_Of_Component").Columns(1).SpecialCells(2).Value
End Sub

Private Sub cboTypeComp_Change()
    cboSubType.List = Sheets("Type_Of_Component").Columns(3 + 2 * cboTypeComp.ListIndex).SpecialCells(2).Value
End Sub
 
Perfectomundo SNB!
Thanks

Ga vragen sluiten.
Ben bezig met multipage, en zien of lukt met de selctie van de comboboxen om juiste tab te openen.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan