Hallo
Ik worstel al de hele avond met het volgende: Op een formulier heb ik een combobox waarmee je een bepaald gerecht kunt selecteren (hij selecteert een nummer, corresponderend met het gerecht: gerecht 1 heeft nummer 1; gerecht 2 heeft nummer 2 enz.). Je kan per gerecht een aantal opties kiezen die hij verwerkt in een textbox (waarde). Met de knop "Opslaan" moet hij de waardes opslaan, op de rij corresponderend aan het gerecht (nummer).
Dit doet hij, echter een regel te hoog: gegevens voor gerecht 4 zet hij bij gerecht 3.
Dit gebeurd middels deze code:
Hoe kan ik ervoor zorgen dat hij de juiste regel pakt?
Ik snap dat een voorbeeldbestandje handiger is, maar misschien zie ik iets simpels over het hoofd?
Deze code gebruik ik in meerdere formulieren (in hetzelfde bestand) en daar werkt het goed. Het enigste wat anders is aan deze opzet, is dat er niet vanaf kolom 1 geteld wordt maar vanaf kolom 130 (en vanaf kolom 133 wordt opgeslagen).
Ik hoop dat jullie hiermee kunnen helpen...
FokkeB
Ik worstel al de hele avond met het volgende: Op een formulier heb ik een combobox waarmee je een bepaald gerecht kunt selecteren (hij selecteert een nummer, corresponderend met het gerecht: gerecht 1 heeft nummer 1; gerecht 2 heeft nummer 2 enz.). Je kan per gerecht een aantal opties kiezen die hij verwerkt in een textbox (waarde). Met de knop "Opslaan" moet hij de waardes opslaan, op de rij corresponderend aan het gerecht (nummer).
Dit doet hij, echter een regel te hoog: gegevens voor gerecht 4 zet hij bij gerecht 3.
Dit gebeurd middels deze code:
Code:
Private Sub CommandButtonopslaan_Click()
With ComboBoxsoep
If .Value <> "" Then
Cells(Application.Match(Val(.Value), Range("EA2:EA" & .ListCount), 1), 133).Resize(, 14) = _
Array(TextBoxa1.Value, TextBoxa2.Value, TextBoxa3.Value, TextBoxa4.Value, TextBoxa5.Value, TextBoxa6.Value, TextBoxa7.Value, TextBoxa8.Value, TextBoxa9.Value, TextBoxa10.Value, TextBoxa11.Value, TextBoxa12.Value, TextBoxa13.Value, TextBoxa14.Value)
TextBoxa1.Value = Application.VLookup(Val(.Value), Range("EA2:EZ" & .ListCount), 3, False)
TextBoxa2.Value = Application.VLookup(Val(.Value), Range("EA2:EZ" & .ListCount), 4, False)
TextBoxa3.Value = Application.VLookup(Val(.Value), Range("EA2:EZ" & .ListCount), 5, False)
TextBoxa4.Value = Application.VLookup(Val(.Value), Range("EA2:EZ" & .ListCount), 6, False)
TextBoxa5.Value = Application.VLookup(Val(.Value), Range("EA2:EZ" & .ListCount), 7, False)
TextBoxa6.Value = Application.VLookup(Val(.Value), Range("EA2:EZ" & .ListCount), 8, False)
TextBoxa7.Value = Application.VLookup(Val(.Value), Range("EA2:EZ" & .ListCount), 9, False)
TextBoxa8.Value = Application.VLookup(Val(.Value), Range("EA2:EZ" & .ListCount), 10, False)
TextBoxa9.Value = Application.VLookup(Val(.Value), Range("EA2:EZ" & .ListCount), 11, False)
TextBoxa10.Value = Application.VLookup(Val(.Value), Range("EA2:EZ" & .ListCount), 12, False)
TextBoxa11.Value = Application.VLookup(Val(.Value), Range("EA2:EZ" & .ListCount), 13, False)
TextBoxa12.Value = Application.VLookup(Val(.Value), Range("EA2:EZ" & .ListCount), 14, False)
TextBoxa13.Value = Application.VLookup(Val(.Value), Range("EA2:EZ" & .ListCount), 15, False)
TextBoxa14.Value = Application.VLookup(Val(.Value), Range("EA2:EZ" & .ListCount), 16, False)
End If
End With
End Sub
Hoe kan ik ervoor zorgen dat hij de juiste regel pakt?
Ik snap dat een voorbeeldbestandje handiger is, maar misschien zie ik iets simpels over het hoofd?
Deze code gebruik ik in meerdere formulieren (in hetzelfde bestand) en daar werkt het goed. Het enigste wat anders is aan deze opzet, is dat er niet vanaf kolom 1 geteld wordt maar vanaf kolom 130 (en vanaf kolom 133 wordt opgeslagen).
Ik hoop dat jullie hiermee kunnen helpen...
FokkeB