Rijnummer vinden adhv waarde combobox

Status
Niet open voor verdere reacties.

Sansje

Gebruiker
Lid geworden
21 dec 2014
Berichten
50
Hoi allemaal. Kan iemand mij een simpele code geven die aan de hand van een waarde in een combobox het bijbehorend rijnummer geeft.
In kolom A staan de waarden waarnaar gezocht wordt vanaf rij 2. Deze waarden worden in een combobox getoond.

Voorbeeld

Rij 2 Kolom A: Hoi
Rij 3 Kolom A: Stop
Rij 4 Kolom A: Boem

etc

De woorden: Hoi, Stop en Boem worden in combobox1 getoond. Zodra 1 van deze is gekozen dan dient in label 1 het rijnummer getoond te worden.

Gekozen waarde combobox1 = Stop, dan Label 1 = 3

Groetjes Sandra
 
Sandra,

Je kunt beter je bestandje hier plaatsen, word je beter en sneller geholpen.
Heb je ook al naar de functie Find gekeken?
 
Ja zoiets inderdaad. Als je dan in de combobox een keuze maakt _Click. Dan moet direct het bijbehorend rijnummer in label 1 worden getoond.

Methode Find ken ik niet. Sorry.

De combobox staat overigens in een userform en op een veld met tabbladen. (Geen Multi page)
 
Laatst bewerkt:
Hoi Excelamateur.

Ik heb een beetje zitten vogelen. Zelf kwam ik met de onderstaande code.

In Initialize wordt de inhoud van de combobox gevuld met:

Code:
ComboBox1.List = Sheets("Test").Range("A2:A" & Sheets("Test").Cells(Rows.Count, 1).End(xlUp).Row).Value

De rest is verder:

Code:
Private Sub ComboBox1_Click()
    Dim Rij As Long
    Dim Waarde As String
    
    LastRow = Sheets("Test").Cells(Rows.Count, 1).End(xlUp).Row
    Waarde = ComboBox1.Value

    With Sheets("Test")
        For i = 2 To LastRow
            If Waarde = .Cells(i, 1) Then
                Label17 = i
                CommandButton1.SetFocus
            End If
        Next i
    End With

End Sub

Private Sub CommandButton1_Click()    
    With Sheets("Test")
        .Cells(Label17, 10) = 0
        .Cells(Label17, 11) = 0
        .Cells(Label17, 12) = vbNullString
        .Cells(Label17, 13) = vbNullString
        .Range(Sheets("Test").Cells(Label17, 1), Sheets("Test").Cells(Label17, 13)).Interior.ColorIndex = xlNone
    End With
    
End Sub

Daar jouw code vele malen korter is, ga ik die eens uitproberen.

Eventuele aanvullingen in mijn code zijn welkom.

Groetjes Sandra
 
Laatst bewerkt:
Oke even jouw code geprobeerd en nog verder ingekort. De With heb ik verwijderd. Deze was nergens voor nodig. Lijkt mij.

Code:
Private Sub ComboBox1_Click()
    Label17 = Sheets("Test").Columns(1).Find(ComboBox1.Value, , xlValues, xlWhole).Row
    CommandButton1.SetFocus

End Sub

Private Sub CommandButton1_Click()    
    With Sheets("Test")
        .Cells(Label17, 10) = 0
        .Cells(Label17, 11) = 0
        .Cells(Label17, 12) = vbNullString
        .Cells(Label17, 13) = vbNullString
        .Range(Sheets("Test").Cells(Label17, 1), Sheets("Test").Cells(Label17, 13)).Interior.ColorIndex = xlNone
    End With
    
End Sub

Deze werkt ook en is veel korter. Wat is het verschil? Kun jij mij die find uitleggen?
 
Laatst bewerkt:
Misschien is het handig om jouw eigen document te plaatsen. Het lijkt mij nogal onzinnig om de kolommen 10 t/ 13 met 0 of niets te vullen.
 
Gebruik:
Code:
Private Sub ComboBox1_Click()
    Label17 = combobox1.listindex+1
End Sub
of
Code:
Private Sub ComboBox1_Click()
sheets("Test").Cells(combobox1.listindex+1, 10).resize(,4) = 0
End Sub
 
Laatst bewerkt:
Hai allemaal. Nog hartstikke bedankt voor de hulp en sorry dat ik er nu pas mee kom.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan