Met combobox de textboxen vullen met gegevens

Status
Niet open voor verdere reacties.

Atwist

Terugkerende gebruiker
Lid geworden
24 jan 2006
Berichten
1.055
Besturingssysteem
Wndows 10
Office versie
2016
Hallo allemaal,

Het is bijna weekend, maar ik heb er nog eentje.

Probeer met een ComboBox een keuze te maken uit namen die staan in kolom A
Bij het maken van een keuze uit de namen moet de rest van de gegevens in de TextBoxen worden gevuld.
Dit heb ik met VBA nog niet gedaan, dus hoop ik dat jullie mij weer even kunnen helpen.

Heb een voorzet gemaakt maar de ComboBox ziet de namen niet
Code:
        Private Sub ComboBox2_Change()
Worksheets("Kunden_Daten").Select
Range("A2:R100").Find(ComboBox2.Value, , xlValues, xlWhole)
TextBox20.Value = Offset(0, 1)
TextBox19.Value = Offset(0, 2)

End Sub
 
Ben zelf al een stuk verder gekomen, maar nu loop ik vast terwijl het net als "Ver.Zoeken" is wat mij wel lukt

Code:
Option Explicit
Private Sub UserForm_Initialize()
    'Assumes that the list with names is in Sheet1, Column B. Change as required
    ComboBox2.List = Sheets("Kunden_Daten").Range("A2", Range("A" & Rows.Count).End(xlUp)).Value
End Sub

Private Sub ComboBox2_Change()
Dim msn As String
Dim msnFound As Range
msn = ComboBox2
    With Sheets("Kunden_Daten")
    'Worksheets("Kunden_Daten").Select
    Set msnFound = .Columns(2).Find(What:=msn, After:=.Cells(1, 2), LookIn:=xlValues, LookAt:= _
    xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False, SearchFormat:=False)
TextBox1.Value = msnFound.Offset(, 1).Value
TextBox2.Value = msnFound.Offset(, 2).Value
TextBox3.Value = msnFound.Offset(, 3).Value
End With
End Sub
Krijg een fout 1004 "Door de toepassing of object gedefineerde fout"

Hoop dat jullie een tip hebben.
 
Laatst bewerkt:
Tip:
Plaats een voorbeeld bestand.
 
Hallo Ed,

Hier een klein voorbeeldje
 
Je hebt dus helemaal geen textbox met de naam TextBox1.
TextBox2 en TextBox3 bestaan ook niet.

Klik eens op Foutopsporing en dan VBAProject compileren.
 
Laatst bewerkt:
gebruik nooit een code die je zelf niet begrijpt.
de namen staan in collumns(1) en je zoekt ze in collumns (2)
nummer uw textboxen in volgorde van gebruik.
 

Bijlagen

  • Helpmij voorbeeld (3).xlsm
    29,2 KB · Weergaven: 71
Laatst bewerkt:
Meer heb je niet nodig om ze te vullen.
Code:
Private Sub UserForm_Initialize()
 ComboBox2.List = Cells(1).CurrentRegion.Columns(1).Offset(1).SpecialCells(2).Resize(, 26).Value
End Sub


Private Sub ComboBox2_Change()
If ComboBox2.ListIndex > -1 Then
  For i = 1 To 7
    Me("t" & i) = ComboBox2.Column(i)
    Next i
End If
End Sub
 
daarom dat ik shreef nummer uw tekst.... dat is hier niet het geval.
 
Dat zal TS vast wel van je willen aannemen toch?
 
Hartelijk dank aan jullie allen,

Mijn weekend is weer goed.

Zo als ik in mijn opening al zei heb ik in VBA nog geen "Vert.zoeken" gemaakt was al bij dat ik een heel eind ben gekomen.
De code van emields is voor mij het duidelijkste te begrijpen.

Nogmaals mijn dank aan jullie allen en een fijn weekend toegewenst.:cool::cool:
 
Waar struikel je over om mijn code te begrijpen?

Voordelen:
Weinig code.
Geen interactie met het werkblad, alle gegevens staan in de combobox.
 
Harry,
Als ik jou code goed begrijp dan moet de Textboxen echt op de juiste volgorde staan en als ik dan iets wil wijzigen moet je meer wijzigen ipv Textbox aan aan offset volgorde te linken.
Ik kan het helemaal verkeerd heben hoor daarvoor mijn excuus, en
Code:
TextBox1.Value = msnFound.Offset(, 1).Value
begrijp ik beter.
 
Andreas, enkel de benaming van een textbox hoef je maar te wijzigen.

Volgorde van invulling kan dus zijn.
t1 is offset(,1)
t5 is offset(,5)

En waar t5 en t1 zich op het formulier bevinden is aan jou.

Zo simpel als wat, hoe gestructureerder de opzet hoe makkelijker en korter de code.
Zo hoef je met 'Find' niet te zoeken naar iets wat al aanwezig is in de Combobox.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan