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

combobox vullen met waarden uit kolom

Status
Niet open voor verdere reacties.

Spiesse

Gebruiker
Lid geworden
14 jul 2011
Berichten
902
Beste,

voor een bezoekersregistratie loop ik momenteel op een dood spoor...

Via een combobox kan ik kiezen uit verschillende firma's. Eens ik een firmanaam geselecteerd heb kan ik in een andere combobox de juiste persoon kiezen die voor me staat en dan registreren als IN. Bij vertrek klik ik in een listbox op de naam van de persoon en dan op UIT. (in bijlage het desbetreffende bestand).

Nu zit ik met een probleem wanneer er een nieuwe klant aan mijn receptie staat.

Ik heb een txtveld voorzien waarin ik een nieuwe klantnaam kan invoeren. Deze wordt dan geregistreerd in een apart tabblad in kolom A, onderaan de laatste geschreven waarde. Dat gaat goed.
De nieuwe invoer wordt getransponeerd naar kolom A, volledig rechts naast de laatste geschreven waarde in die kolom. Dat gaat ook goed.

Bij de nieuwe klantnaam heb ik ook de mogelijkheid om de naam van de contactpersoon toe te voegen. dat gaat ook goed.

Alleen krijg ik de naam van de contactpersoon niet in de combobox van de klantnaam... Via de combo_change code heb ik de eerste klanten zichtbaar gemaakt via de case methode. Maar ik kan onmogelijk telkens mijn code aanpassen aan de extra klanten die toegevoegd worden...

Dus de moeilijkheid zit in het vullen van de combobox met de contactperoon adhv de combobox met de firmanaam.

Wie kan hier eens naar kijken aub?

Alvast bedankt!
SPiesse

Bekijk bijlage bezoekersregistratie.xlsm
 
In een array, omdat je bij sommige klanten geen of maar één contactpersoon hebt.
Code:
Private Sub ComboFirmaNaamBestaand_Change()
Dim arr
ComboNaamBestaand.Value = ""
With Sheets("Gegevens")
 sn = .Columns(.Rows(1).Find(ComboFirmaNaamBestaand).Column).SpecialCells(2)
 arr = Array()
  If .Columns(.Rows(1).Find(ComboFirmaNaamBestaand).Column).SpecialCells(2).Rows.Count > 1 Then
   For I = 2 To UBound(sn)
    ReDim Preserve arr(UBound(arr) + 1)
    arr(UBound(arr)) = sn(I, 1)
   Next I
  End If
 ComboNaamBestaand.List = arr
End With
End Sub
 
HSV,

bedankt voor je code. Deze doet het voorlopig! Hoe voer ik nu het best bij een klant bv extra namen toe?
 
Wat had je in gedachten.
 
Code:
Private Sub ComboBewaarNieuw_Click()
Dim FindString As String
    Dim Rng As Range
    FindString = ComboFirmaNaamBestaand
    If Trim(FindString) <> "" Then
        With Sheets("Gegevens").Range("B1:ZZ1")
            Set Rng = .Find(What:=FindString, _
                            After:=.Cells(.Cells.Count), _
                            LookIn:=xlValues, _
                            LookAt:=xlWhole, _
                            SearchOrder:=xlByColumns, _
                            SearchDirection:=xlNext, _
                            MatchCase:=False)
            If Not Rng Is Nothing Then
                Application.Goto Rng, True
                    Selection.Offset(1, 0).Value = TxtOngekendFirma.Value 'Selection.End(xlDown).Offset(1, 0).Value = TxtOngekendFirma.Value
                    ComboNaamBestaand = TxtOngekendFirma.Value
                    TxtOngekendFirma.Value = ""
Else
                MsgBox "code is niet juist..."
            End If
        End With
    End If
End Sub

deze zet de naam net onder de firmanaam. Ik vermoed dat bij de selection.offset iets niet juist staat...?
 
Je gaat een beetje te snel.
Ik zie twee buttons met "klik hier als uw (firma)naam niet in de lijst voorkomt".
Helaas werken die niet.

Je moet me wel een beetje wegwijs maken in je form.
 
ik moet het bestand nog meer opkuisen en vervolmaken, das een feit :)

maar ik heb het gevonden denk ik. Als ik in de code het de regel van selection.offset vervang door hetgeen achter ' staat, dan vult het bestand de namen onder elkaar in.

Dus voorlopig kan ik verder ;)

ga het wel nog niet op slot doen want zie dat er nog iets is wat ik niet weet ;) ;)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan