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

Gegevens opvragen vba

Status
Niet open voor verdere reacties.
Gebruik

Code:
Set naamfiliaal = .Range("B5:B500").Find(gegnaamfiliaal.Text, LookIn:=xlValues, lookat:=xlWhole)

en
Code:
If Not filiaalnummer [B]Is Nothing[/B] And naamfiliaal Is Nothing Then
 
Gebruik

Code:
Set naamfiliaal = .Range("B5:B500").Find(gegnaamfiliaal.Text, LookIn:=xlValues, lookat:=xlWhole)

en
Code:
If Not filiaalnummer [B]Is Nothing[/B] And naamfiliaal Is Nothing Then

Ik heb dat gedaan en dan krijg ik weer de foutmelding:
Code:
gegadresfiliaal.Text = .Range("C" & naamfiliaal.Row)
 
dit is de gehele code:

Code:
Private Sub haalgegevensop_Click()
Dim filiaalnummer As Range
Dim naamfiliaal As Range

With Worksheets("database filiaal")
    Set filiaalnummer = .Range("F5:F500").Find(Val(gegfiliaalnummer.Text), LookIn:=xlValues, lookat:=xlWhole)
    Set naamfiliaal = .Range("B5:B500").Find(gegnaamfiliaal.Text, LookIn:=xlValues, lookat:=xlWhole)
    If Not filiaalnummer Is Nothing And naamfiliaal Is Nothing Then
        gegadresfiliaal.Text = .Range("C" & filiaalnummer.Row)
        gegadresfiliaal.Text = .Range("C" & naamfiliaal.Row)
        gegplaatsfiliaal.Text = .Range("D" & filiaalnummer.Row)
        gegplaatsfiliaal.Text = .Range("D" & naamfiliaal.Row)
        gegpostcodefiliaal.Text = .Range("E" & filiaalnummer.Row)
        gegpostcodefiliaal.Text = .Range("E" & naamfiliaal.Row)
        geglandfiliaal.Text = .Range("G" & filiaalnummer.Row)
        geglandfiliaal.Text = .Range("G" & naamfiliaal.Row)
        gegaantalkassasfiliaal.Text = .Range("H" & filiaalnummer.Row)
        gegaantalkassasfiliaal.Text = .Range("H" & naamfiliaal.Row)
        gegaantalcounterladesfiliaal.Text = .Range("I" & filiaalnummer.Row)
        gegaantalcounterladesfiliaal.Text = .Range("I" & naamfiliaal.Row)
    End If
End With

End Sub
 
dit is de gehele code:

Code:
Private Sub haalgegevensop_Click()
Dim filiaalnummer As Range
Dim naamfiliaal As Range

With Worksheets("database filiaal")
    Set filiaalnummer = .Range("F5:F500").Find(Val(gegfiliaalnummer.Text), LookIn:=xlValues, lookat:=xlWhole)
    Set naamfiliaal = .Range("B5:B500").Find(gegnaamfiliaal.Text, LookIn:=xlValues, lookat:=xlWhole)
    If Not filiaalnummer Is Nothing And naamfiliaal Is Nothing Then
        gegadresfiliaal.Text = .Range("C" & filiaalnummer.Row)
        gegadresfiliaal.Text = .Range("C" & naamfiliaal.Row)
        gegplaatsfiliaal.Text = .Range("D" & filiaalnummer.Row)
        gegplaatsfiliaal.Text = .Range("D" & naamfiliaal.Row)
        gegpostcodefiliaal.Text = .Range("E" & filiaalnummer.Row)
        gegpostcodefiliaal.Text = .Range("E" & naamfiliaal.Row)
        geglandfiliaal.Text = .Range("G" & filiaalnummer.Row)
        geglandfiliaal.Text = .Range("G" & naamfiliaal.Row)
        gegaantalkassasfiliaal.Text = .Range("H" & filiaalnummer.Row)
        gegaantalkassasfiliaal.Text = .Range("H" & naamfiliaal.Row)
        gegaantalcounterladesfiliaal.Text = .Range("I" & filiaalnummer.Row)
        gegaantalcounterladesfiliaal.Text = .Range("I" & naamfiliaal.Row)
    End If
End With

End Sub

Als dit niet werkt:

If Not filiaalnummer Is Nothing And Not naamfiliaal Is Nothing Then

hang dan een voorbeeldbestand bij.

Wigi
 

Wigi,
het is niet meer nodig, ik heb al wat anders gekozen. Ik zit nu namelijk met een ander probleem, als je bijvoorbeeld zoekt op plaats dan kunnen er natuurlijk meerdere filialen in dezelfde plaats zitten. Hoe kan ik dit weergeven?
 
Toverkamp

hier is't:

Code:
Private Sub haalgegevensop_Click()
Dim filiaalnummer As Range, naamfiliaal As Range

With Worksheets("database filiaal")
    If gegfiliaalnummer.Text <> "" Then
        Set filiaalnummer = .Range("F5:F500").Find(Val(gegfiliaalnummer.Text), LookIn:=xlValues, lookat:=xlWhole)
            gegnaamfiliaal.Text = .Range("B" & filiaalnummer.Row)
            gegadresfiliaal.Text = .Range("C" & filiaalnummer.Row)
            gegplaatsfiliaal.Text = .Range("D" & filiaalnummer.Row)
            gegpostcodefiliaal.Text = .Range("E" & filiaalnummer.Row)
            geglandfiliaal.Text = .Range("G" & filiaalnummer.Row)
            gegaantalkassasfiliaal.Text = .Range("H" & filiaalnummer.Row)
            gegaantalcounterladesfiliaal.Text = .Range("I" & filiaalnummer.Row)
        Exit Sub
    End If
    
    If gegnaamfiliaal.Text <> "" Then
        Set naamfiliaal = .Range("B5:B500").Find(gegnaamfiliaal.Text, LookIn:=xlValues, lookat:=xlWhole)
            gegfiliaalnummer.Text = .Range("F" & naamfiliaal.Row)
            gegadresfiliaal.Text = .Range("C" & naamfiliaal.Row)
            gegplaatsfiliaal.Text = .Range("D" & naamfiliaal.Row)
            gegpostcodefiliaal.Text = .Range("E" & naamfiliaal.Row)
            geglandfiliaal.Text = .Range("G" & naamfiliaal.Row)
            gegaantalkassasfiliaal.Text = .Range("H" & naamfiliaal.Row)
            gegaantalcounterladesfiliaal.Text = .Range("I" & naamfiliaal.Row)
    End If
End With
End Sub
 
Wigi,
het is niet meer nodig, ik heb al wat anders gekozen. Ik zit nu namelijk met een ander probleem, als je bijvoorbeeld zoekt op plaats dan kunnen er natuurlijk meerdere filialen in dezelfde plaats zitten. Hoe kan ik dit weergeven?

Damn :evil: Bedankt om mij weeral nutteloos werk te laten doen.

Dit alles maakt mij niet echt geneigd om nog vragen van u te beantwoorden. En ik denk dat een aantal anderen er ook zo over denken. Ik zou trouwens aanraden dat u Excel consulting onder de arm neemt, gezien het hoge aantal posts: 120 op 11 dagen (dus 11 per dag!); 16 nieuwe topics op 11 dagen! Dan kan u een perfecte oplossing krijgen en telkens van gedacht veranderen. Uiteraard kost dat geld...

Wigi
 
Laatst bewerkt:
Damn :evil: Bedankt om mij weeral nutteloos werk te laten doen.

Dit alles maakt mij niet echt geneigd om nog vragen van u te beantwoorden. En ik denk dat een aantal anderen er ook zo over denken. Ik zou trouwens aanraden dat u Excel consulting onder de arm neemt, gezien het hoge aantal posts: 120 op 11 dagen (dus 11 per dag!); 16 nieuwe topics op 11 dagen! Dan kan u een perfecte oplossing krijgen en telkens van gedacht veranderen. Uiteraard kost dat geld...

Wigi

Oke.. ik zal het wat rustiger aan doen:thumb:
 
Toverkamp,

Ten eerste ben ik het geheel met Wigi eens.
Laten we daar eerlijk in zijn.

Ten tweede, vandag ben ik even de barmhartige samaritaan.
Je kan je probleem oplossen door eerst in een combobox al je verschillende supers weer laten geven, waardoor er in combobox 2 een lijst wordt gefilterd welke gekoppeld zijn aan de gekozen supermarktsoort.
Zoek hier op helpmij of anders ergens anders voor een vb.


Groet,
Ferenc
 
Toverkamp,

Ten eerste ben ik het geheel met Wigi eens.
Laten we daar eerlijk in zijn.

Ten tweede, vandag ben ik even de barmhartige samaritaan.
Je kan je probleem oplossen door eerst in een combobox al je verschillende supers weer laten geven, waardoor er in combobox 2 een lijst wordt gefilterd welke gekoppeld zijn aan de gekozen supermarktsoort.
Zoek hier op helpmij of anders ergens anders voor een vb.


Groet,
Ferenc

sorry dat ik weer stoor, maar ik heb op andere forums rondgevraagd en op sites gekeken maar daar kwamen ze (en ik ook) niet uit. Vandaar dat ik hier weer post. Ik heb een printscreantje gemaakt, van wat precies de bedoeling is.
 

Bijlagen

  • zoek gegevens via naam en plaats.gif
    zoek gegevens via naam en plaats.gif
    73,6 KB · Weergaven: 86
Geacht forum,

Ik heb 2 formulieren gemaakt. Een zoekindex, hierin kan men kiezen hoe je een filiaal wilt zoeken, dus op filiaalnummer, op naam of op postcode. Wanneer je dan op naam kiest komt het volgende formulier tevoorschijn, waar je uit een combox uit de verschillende filialen kunt kiezen, bijv. super de boer. En een textveld waarin je de plaats moet invoeren, bijv. groningen. Als je dan op zoeken klikt moet er in een combobox alle filiaalnummers tevoorschijn komen van de super de boers in groningen (dit kunnen er uiteraard meer zijn dan 1).
Op die zoekbutton heb ik de volgende code geplaatst:
Code:
Private Sub zoekennaamplaatszoeken_Click()

Dim zoekennaamplaatsnaam As Range, zoekennaamplaatsplaat

'zoek op naam, bijvoorbeeld super de boer
With Worksheets("database filiaal")
    If zoekennaamplaatsnaam.Text <> "" Then
        'zoek de naam filiaal in werkbald database filiaal in kolom B
        Set naamfiliaal = .Range("B5:B500").Find(Val(zoekennaamplaatsnaam.Text), LookIn:=xlValues, lookat:=xlWhole)
            'zoek bij de naam het juiste filiaalnr in kolom F en plaats deze in combobox zoekennaamplaatsfiliaalnr
            zoekennaamplaatsfiliaalnr.Text = .Range("F" & naamfiliaal.Row)
        Exit Sub
    End If
    
'zoek op plaats, bijvoorbeeld groningen
    If zoekennaamplaatsplaats.Text <> "" Then
        'zoek de plaats van het filiaal in werkbald database filiaal in kolom D
        Set plaatsfiliaal = .Range("D5:D500").Find(zoekennaamplaatsplaats.Text, LookIn:=xlValues, lookat:=xlWhole)
            'zoek bij de plaats het juiste filiaalnr in kolom F en plaats deze in combobox zoekennaamplaatsfiliaalnr
            zoekennaamplaatsfiliaalnr.Text = .Range("F" & plaatsfiliaal.Row)
    
    End If
End With
End Sub

Hier krijg ik een foutmelding bij, maar ik weet niet wat er fout is. Kan iemand mij misschien hier mee helpen?
alvast bedankt!
 

Bijlagen

Ga met F8 stap voor stap door de code.

Dat stopt toch als er een fout is, dus dan weet je direct waar het vast loopt.
 
Ga met F8 stap voor stap door de code.

Dat stopt toch als er een fout is, dus dan weet je direct waar het vast loopt.

Het loopt vast bij de volgende regel:
If zoekennaamplaatsnaam.Text <> "" Then
Dit komt denk ik doordat zoekennaamplaatsnaam een combobox is waaruit gekozen kan worden uit de volgende lijst:
super de boer
aldi
praxis
lidl

dus dan klopt .text misschien niet maar dat weet ik niet zeker. Wat zou ik moeten veranderen? .listNames werkt in ieder geval niet
 
Op het internet vind je (mits wat zoeken) massaal veel code over ComboBoxen, ListBoxen e.d. Ook de help files bevatten voorbeelden.

Probeer

Code:
zoekennaamplaatsnaam.Value
 
Op het internet vind je (mits wat zoeken) massaal veel code over ComboBoxen, ListBoxen e.d. Ook de help files bevatten voorbeelden.

Probeer

Code:
zoekennaamplaatsnaam.Value

ik heb .Value toegepast, maar deze had ik ook al geprobeerd maar die doet het ook niet. .Value is inderdaad de standaardwaarde van een combobox, maar ik krijg wederom een foutmelding in dezelfde regel. De fout zou dan toch ergens anders zitten verwacht ik. In de bijlage vindt u een printscrean.
 

Bijlagen

  • codezoekenaamplaats.GIF
    codezoekenaamplaats.GIF
    10,7 KB · Weergaven: 63
Misschien is deze link wel wat voor:
http://www.ozgrid.com/VBA/UserForms.htm

en dan gaat het om de 1e paragraaf: Add a unique and sorted list to a ListBox


Groet,
Ferenc

ps.
Wel leuk om te volgen hoe je tot je project komt.
Altijd handig om er voorbeelden uit te halen. :)
 
Misschien is deze link wel wat voor:
http://www.ozgrid.com/VBA/UserForms.htm

en dan gaat het om de 1e paragraaf: Add a unique and sorted list to a ListBox


Groet,
Ferenc

ps.
Wel leuk om te volgen hoe je tot je project komt.
Altijd handig om er voorbeelden uit te halen. :)

Oke bedankt, ik zal er morgen naar kijken. M'n tijd zit er bijna op:p Engels is trouwens niet m'n sterkste kant..
 
Heb zelf al wat filters aangebracht mbv die tutorial, je kan hem erbij houden als leidraad voor als je er zelf niet uitkomt.

Verandering:
Unieke items in Combobox pulldownmenu's onder je Zoek filiaal knop.
 

Bijlagen

Laatst bewerkt:
ik heb .Value toegepast, maar deze had ik ook al geprobeerd maar die doet het ook niet. .Value is inderdaad de standaardwaarde van een combobox, maar ik krijg wederom een foutmelding in dezelfde regel. De fout zou dan toch ergens anders zitten verwacht ik. In de bijlage vindt u een printscrean.

Werkt dit (voor het eerste deel van de code in die module)?

Code:
With Worksheets("database filiaal")
    If Me.zoekennaamplaatsnaam.Value <> "" Then
        'zoek de naam filiaal in werkbald database filiaal in kolom B
        Set naamfiliaal = .Range("B5:B500").Find(Me.zoekennaamplaatsnaam.Text, LookIn:=xlValues, lookat:=xlWhole)
            'zoek bij de naam het juiste filiaalnr in kolom F en plaats deze in combobox zoekennaamplaatsfiliaalnr
            Me.zoekennaamplaatsfiliaalnr.Text = .Range("F" & naamfiliaal.Row)
        Exit Sub
    End If

Wigi
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan