Combobox kolommen

Status
Niet open voor verdere reacties.

PvanHees

Gebruiker
Lid geworden
25 apr 2008
Berichten
15
Ik heb een userform met een combobox. Deze haalt de waarden uit kolom C van het tabblad Legenda.

Nu wil ik eigenlijk dat als ik een waarde kies uit de combobox (waarde uit kolom C), dat de gekozen waarde zichtbaar blijft, maar dat de waarde uit kolom B wordt toegekend. Ik vermoed dat ik hier met kolommen moet gaan werken, maar dit is me nog niet gelukt.

huidige code:
Code:
Private Sub UserForm_Initialize()
    Dim I As Long
    For I = 3 To 7
        ComboBox1.AddItem Sheets("Legenda").Range("C" & I).Value
    Next I
     
    ComboBox1.ListIndex = 0
     
End Sub

Voorbeeld:
Waarde kolom C: "Dit is een tekst"
Waarde kolom B: 10

In de combobox moet dan "Dit is een tekst" komen te staan (gebeurt nu ook), maar de variabele moet de waarde 10 krijgen...

Is dit mogelijk?

Alvast bedankt
 
de code waar de waarde wordt opgehaald is:

Categorie = NieuweAfspraak.Combobox1.Value
 
Code:
Categorie = NieuweAfspraak.Combobox1.listindex.offset(0,-1)

dacht aan zoiets
 
Ik heb de volgende mogelijkheden geprobeerd, maar beiden werken niet.

Code:
Categorie = NieuweAfspraak.Combobox1.ListIndex.Offset(0, -1)
Categorie = NieuweAfspraak.Combobox1.ListIndex.Offset(0, -1).value

Maar hiervoor moet ik denk ik ook wel twee kolommen in mijn combocox hebben zeker? Hoe krijg ik dit voor elkaar? De combobox wordt nu dus als volgt gevuld:
Code:
Private Sub UserForm_Initialize()
    Dim I As Long
    For I = 3 To 7
        Combobox1.AddItem Sheets("Legenda").Range("C" & I).Value
    Next I
     
    Combobox1.ListIndex = 0
End Sub
 
Kun je ff bestandje posten dat maakt het makkelijker te begrijpen
 
Kun je ff bestandje posten dat maakt het makkelijker te begrijpen

Na veel stoeien is het inmiddels gelukt.

Code:
Private Sub UserForm_Initialize()
    Dim iRow As Long
    Dim myArray As Variant

    LastRow = Worksheets("Legenda").Cells.Find(What:="*", _
          SearchDirection:=xlPrevious, _
          SearchOrder:=xlByRows).Row
    
    myArray = Worksheets("Legenda").Range("B3:C" & LastRow)
    
    With Me.Categorie
    .ColumnCount = 2
    .ColumnWidths = ".0 in; .5 in"
    .List = myArray
    End With
End Sub

Hier worden dus de waarden uit tabblad legenda opgenomen in de Combobox.

Code:
Temp = NieuweAfspraak.Categorie.Column(0)

Dit is de code waar uiteindelijk de juiste waarde wordt verkregen.

Bedankt voor de hulp!
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan