• 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.

Ophalen gegevens keuzelijst invoervak

Status
Niet open voor verdere reacties.

lathieza1

Gebruiker
Lid geworden
10 jul 2019
Berichten
26
Goedemorgen,

Is het mogelijk om een vervolg keuzelijst formulierbesturingselement te maken?

Ik wil dus eerst een keuze uit een keuzelijst maken, daarna een vervolgkeuze in een nieuwe keuzelijst en dan de bijbehorende data ophalen.

Om het allemaal iets makkelijker te maken heb ik een voorbeeld bestandje toegevoegd.

Alvast hartelijk dank.
 

Bijlagen

  • Vervolgkeuze.xlsx
    11,1 KB · Weergaven: 42
Kijk eens hier, daar wordt het perfect uitgelegd. Je zult wél je gegevens anders moeten organiseren.
 
Is het niet mogelijk om dit met een keuzelijst formulierbesturingselement te doen?
 
Ik heb de vraag een beetje verder uitgelegd in het nieuw toegevoegde bestandje. Met de link die eerder was aangedragen kom ik er helaas niet uit.

Het zou echt super fijn zijn als iemand mij hier mee kan helpen.
 

Bijlagen

  • Vervolgkeuze extra uitleg.xlsx
    11,3 KB · Weergaven: 41
@VenA

Dit word een heel gepuzzel maar dit lijkt inderdaad op wat ik zoek. Nu weet ik in ieder geval hoe het kan werken en wat ik hiervoor moet gebruiken.
Hartelijk dank!
 
Als je een aanpak zonder VBA verkiest, zie bijlage.
 

Bijlagen

  • Vervolgkeuze extra uitleg.xlsx
    13,6 KB · Weergaven: 46
Als je het zo makkelijk opgeeft. Zo moeilijk is het toch niet?
 

Bijlagen

  • Vervolgkeuze extra uitleg (1).xlsb
    30,2 KB · Weergaven: 60
@VenH

Nee absoluut niet. Ik ga beide versies proberen maar nu weet ik 100 procent zeker dat ik er uit ga komen. Super bedankt allemaal, de info is echt top!
 
@VenA

Ik ben uiteindelijk toch voor jouw manier gegaan en heb alles werkende maar ik heb nog wel een vraagje.

Is het mogelijk om in de 2e combobox altijd eerste mogelijkheid te krijgen in plaats van hem te selecteren? Of nog beter, een vooraf ingesteld resultaat bv "Hoofdkantoor" ?

Een andere kleine vraag. Is het mogelijk om de adres gegevens op te halen en daarbij een rij tussen de gegevens over te slaan zoals bv:

Meneer de Haan
Postcode
Adres
<<<<<<<<<<<<<<<<<<< lege rij
Land
 
Om standaard de eerste waarde uit een combobox te selecteren gebruik je .listindex = 0

Voor het wegschrijven met lege regels wordt het zoiets
Code:
Cells(14, 9).Resize(5) = Application.Transpose(Array(ar(j, 3), ar(j, 4), ar(j, 5), "", ar(j, 6)))
 
@VenA

Ik loop helaas toch vast bij beide opties. De eerste lukt helemaal niet en de tweede lukt gedeeltelijk.

Private Sub ComboBox1_Change()

Sheets("Voorblad").ComboBox2.Clear

If ComboBox1.ListIndex > -1 Then

For j = 2 To UBound(ar)

If ar(j, 1) = ComboBox1 Then c00 = c00 & "|" & ar(j, 2)

Next j

Sheets("Voorblad").ComboBox2.List = Split(Mid(c00, 2), "|")

End If

End Sub

Private Sub ComboBox2_Change()

If ComboBox2.ListIndex > -1 Then

For j = 2 To UBound(ar)

If ar(j, 1) = ComboBox1 And ar(j, 2) = ComboBox2 Then

Cells(6, 23).Resize(11) = Application.Transpose(Array(ar(j, 1), ar(j, 2), ar(j, 3), ar(j, 4), ar(j, 5), "", ar(j, 6), ar(j, 7), ar(j, 8), ar(j, 9)))

Exit For

End If

Next j

Else

Cells(6, 23).Resize(11).ClearContents

End If

End Sub

Private Sub Worksheet_Activate()

VenA

End Sub

Dit is momenteel de code. Als ik verder dan ar(j, 7) ga, dan krijg ik : "het subscript valt buiten het bereik".

Ook heb ik over geprobeerd met verschillende combinaties, .listindex = 0, neer te zetten maar tot dusver geen succes. Dit zou bij de 2e combobox moeten plaats vinden.
 
Gebruik codetags ipv de quoteknop. Plaats een een representatief voorbeeld bestand als je het zelf niet begrijpt met daarin hoe je het hebt toegepast.
 
Het subscript valt buiten bereik en heb ik inmiddels zelf opgelost nadat ik een testdocument wilde maken :cool:

Het enige wat ik dus nog zoek is waar ik precies die .listindex= 0 moet zetten om combobox2 automatisch de eerst gevonden waarde te laten noteren als ik iets met combobox1 selecteer.


Code:
Private Sub ComboBox1_Change()
  Sheets("Voorblad").ComboBox2.Clear
  If ComboBox1.ListIndex > -1 Then
        For j = 2 To UBound(ar)
      If ar(j, 1) = ComboBox1 Then c00 = c00 & "|" & ar(j, 2)
    Next j
    Sheets("Voorblad").ComboBox2.List = Split(Mid(c00, 2), "|")
  End If
End Sub
Private Sub ComboBox2_Change()
  If ComboBox2.ListIndex > -1 Then
    For j = 2 To UBound(ar)
      If ar(j, 1) = ComboBox1 And ar(j, 2) = ComboBox2 Then
        Cells(6, 23).Resize(11) = Application.Transpose(Array(ar(j, 1), ar(j, 2), ar(j, 3), ar(j, 4), ar(j, 5), "", "", ar(j, 6), ar(j, 7), ar(j, 8), ar(j, 9), ar(j, 10), ar(j, 11)))
        Exit For
      End If
    Next j
    Else
     Cells(6, 23).Resize(11).ClearContents
  End If
End Sub
Private Sub Worksheet_Activate()
  VenA
End Sub
 
Laatst bewerkt:
Code:
Sheets("Voorblad").ComboBox2.List = Split(Mid(c00, 2), "|")
Sheets("Voorblad").ComboBox2.List index = 0

Waarbij je sheets("voorblad"). waarschijnlijk wel weg mag laten omdat je de combobox vanaf het actieve blad gebruikt.
 
Code:
Sheets("Voorblad").ComboBox2.List = Split(Mid(c00, 2), "|")
Sheets("Voorblad").ComboBox2.Listindex = 0

Ik moest nog even die spatie in je laatste regel er tussenuit halen maar het werkt perfect!

Hartstikke bedankt en een fijn weekend alvast.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan