Toon posts:

[VBA excel] snel grote tabel in array plaatsen

Pagina: 1
Acties:
  • 504 views sinds 30-01-2008
  • Reageer

Verwijderd

Topicstarter
ik heb een excel tabel van 37 kolommen en 3000 regels als datablad.
ik wil een tooltje in VBA maken zodat gebruikers zeer snel gegevens kunnen zoeken in deze tabel a la de J-functie in Winamp, werking:
Zoeken op bijvoorbeeld "bro"
  • tik de "b" in. Alle klanten met ergens een b in de omschrijving komen naar voren
  • voeg een r toe. Alle klanten met ergens br in de omschrijving verschijnen meteen in het resultaatscherm.
  • enz.
Om dit snel te laten functioneren wil ik de gehele tabel in een array inlezen d.m.v. de volgende code:
For rij = 1 To 3000
For kolom = 1 To 37
klantArray(rij, kolom) = Cells(rij, kolom).Value
Next kolom
Next rij

deze actie duurt 21 seconden (trage PC op het werk, is niets aan te doen). Op deze manier wordt het hele idee van een snel zoeksysteem om zeep geholpen. Is er een manier om een werkblad in één keer in een array te plaatsen, dus erg snel?

Wat wel sneller is, is om het werkblad als een txt bestand te saven, en dan het txt bestand inlezen, maar dit vind ik minder fraai.

  • OZ-Gump
  • Registratie: November 2002
  • Laatst online: 14-05-2024

OZ-Gump

terug van weggeweest

Waarom zou je het wiel opnieuw uitvinden? Volgens mij kun je namelijk redelijk simpel de door jou gewenste functionaliteit maken in Excel door Filters toe te voegen.

Het lijkt me sowieso niet de juiste aanpak om eerst alles in een Array te gaan zetten en dan pas te zoeken: je hebt de gegevens toch al in dat werkblad staan? Maak daar gebruik van zou ik zeggen!

Ideetje: maak zelf de interface tussen het typ-en-zoek-op mechanisme en de filter functionaliteit van Excel: jij zou de te zoeken waarde in een filter kunnen zetten m.b.v. VBA op het moment dat een gebruiker in een control een te zoeken waarde typt...

My personal website


Verwijderd

Topicstarter
OZ-Gump schreef op maandag 28 februari 2005 @ 10:35:
Waarom zou je het wiel opnieuw uitvinden?
heel eenvoudig. Er komen mensen mee te werken die amper weten hoe Excel werkt. Ik wil dus d.m.v. een autostart een formulier laten verschijnen, zodat alles erg eenvoudig werkt.

  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

Verwijderd schreef op maandag 28 februari 2005 @ 11:36:
[...]


heel eenvoudig. Er komen mensen mee te werken die amper weten hoe Excel werkt. Ik wil dus d.m.v. een autostart een formulier laten verschijnen, zodat alles erg eenvoudig werkt.
Dus laat je ze geen formulier zien, maar een aangepaste werkblad waar de filters al meteen inzitten ;)

Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.


Verwijderd

de uitklaplijst van autofilter is beperkt tot 1000 unieke items.
als je een variabele dimensioneert als variant, kan je er wel een bereik ineens aan toewijzen.