Inlezen groot bestand met combobox VBA traag

WilElektro

Gebruiker
Lid geworden
13 mrt 2025
Berichten
27
Hallo, ik heb en excel bestand met een combobox om artikelen in te lezen tbv een calculatie programma; ik he een werkend excel bestand, echter de in te lezen artikelen komen uit een extern zeer groot bestand; ca 260 duizend artikelen; ik heb een verkorte versie als voorbeeld bijgevoegd, eveneens een verkort artikelenbestand; Hoe zou je dit kunnen oplossen? Zodat ik verder kan met mijn programma; Alvast dank
 

Bijlagen

Probeer eens of het zo sneller gaat met het grote bestand.
AddItem vervangen.
 

Bijlagen

Al eens aan DAO gedacht ?
Overlaatst nog een code geschreven voor iemand die 72K rijen inlas in 0.6sec.
 
Scrollen door 260.000 artikelen in een combobox werkt niet echt handig.
Maar als je kunt filteren op artikelomschrijving met behulp van wildcards wordt het een stuk makkelijker.
Bijgaand een voorbeeld voor "Artikelen toevoegen groot", in het zoekvak kun je filteren op artikelomschrijving.
Met * vind je alle artikelen
Begin gewoon eens met letters intikken, je kunt ook wildcards (* en ?) gebruiken.
Probeer een *45
of Aar
of B
De rest van de functionaliteit van het formulier werkt nu niet meer, dit voorbeeld is alleen bedoeld om te laten zien hoe je met AdvancedFilter zou kunnen werken.
 

Bijlagen

Je kunt mogelijk e.e.a. nog optimaliseren, maar Excel is van nature niet al te snel en er komt dus een einde aan wat haalbaar is. Misschien een goed moment om eens na te gaan denken over het gebruik van een echte database.
 
Scrollen door 260.000 artikelen in een combobox werkt niet echt handig.
Maar als je kunt filteren op artikelomschrijving met behulp van wildcards wordt het een stuk makkelijker.
Bijgaand een voorbeeld voor "Artikelen toevoegen groot", in het zoekvak kun je filteren op artikelomschrijving.
Met * vind je alle artikelen
Begin gewoon eens met letters intikken, je kunt ook wildcards (* en ?) gebruiken.
Probeer een *45
of Aar
of B
De rest van de functionaliteit van het formulier werkt nu niet meer, dit voorbeeld is alleen bedoeld om te laten zien hoe je met AdvancedFilter zou kunnen werken.
Oke zal ook hier naar kijken of dit lukt
 
Kijk eens of het laden vanuit een extern bestand hiermee al sneller gaat.
Ook is ingebouwd dat wanneer je de 1ste letter van een artikel intypt de combobox gefilterd wordt,
hoe meer letters hoe fijner de filtering.
Kijk wel even na of het pad correct is in Userform_Initialize.
 

Bijlagen

Kijk eens of het laden vanuit een extern bestand hiermee al sneller gaat.
Ook is ingebouwd dat wanneer je de 1ste letter van een artikel intypt de combobox gefilterd wordt,
hoe meer letters hoe fijner de filtering.
Kijk wel even na of het pad correct is in Userform_Initialize.
Ga dit proberen vanavond
 
@WB

Code:
Private Sub UserForm_Initialize()
  pad = "G:\OF\SCH2025.xlsx"

  If Dir(pad) <> vbNullString Then CMBproduct.Column =
CreateObject("DAO.DBEngine.120").OpenDatabase(pad, False, True, "Excel
12.0 Xml;HDR=Yes;").OpenRecordset("SELECT * FROM [SCH$]").getrows(100)
End Sub
 
Terug
Bovenaan Onderaan