[VBA] spotlight-achtige zoekfunctie in Excel

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • 107mb
  • Registratie: Juni 2004
  • Laatst online: 15:17
ik zoek aanknopingspunten om het volgende idee te verwezenlijken:

situatie
op het Excel werkblad "data" staat een lange lijst met productomschrijvingen.
op het hoofdblad moeten een aantal producten ingevuld worden via een lijst met pulldown. Deze pulldown is gevuld met de productomschrijvingen uit het blad "data". Aangezien het een lange lijst is, werkt dit niet handig, en moet er heel veel gescrolled worden.

Ik wil graag het volgende programmeren in VBA:
  • deel van de omschrijving invullen in een cel
  • na het invoeren van een minimaal aantal karakters (bv 3) worden alle gevonden waarden in een listbox weergegeven.
  • hoe meer tekens de gebruiker invoert, des te kleiner wordt de lijst.
  • op elk gewenst moment kan de gebruiker een gevonden waarde selecteren. Deze geselecteerde waarde wordt in de cel geplaatst. De listbox verdwijnt
De werking lijkt erg op de manier zoals spotlight in OSX werkt.

Het volgende werkt al wel:
  • de productlijst in een array plaatsen
  • de array mbv de functie Filter doorzoeken
wat nog niet lukt is:
  • het creëren van een zo klein mogelijke listbox, direct onder de activecell. Ter indicatie, de listbox stel ik mij alsvolgt voor:
    Afbeeldingslocatie: http://www.mymsoffice.net/wp-content/uploads/2009/09/excel_autocomplete.JPG
  • het realtime laten uitvoeren van de zoekcode tijdens het type van een tekst in een cel. met mijn kennis kom ik niet verder dan de code uit te laten voeren door de procedure worksheet.change. deze roept echter de code aan op het moment dat je de cel verlaat.
Wie heeft er tips voor mij om zoiets te vervaardigen?

Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

  • pedorus
  • Registratie: Januari 2008
  • Niet online
107mb schreef op donderdag 03 juni 2010 @ 14:07:
• het realtime laten uitvoeren van de zoekcode tijdens het type van een tekst in een cel. met mijn kennis kom ik niet verder dan de code uit te laten voeren door de procedure worksheet.change. deze roept echter de code aan op het moment dat je de cel verlaat.
Dit is niet (zonder veel hacks) mogelijk. Je kan wel een lijst (combobox) tonen met data validation.

Vitamine D tekorten in Nederland | Dodelijk coronaforum gesloten


Acties:
  • 0 Henk 'm!

  • Reptile209
  • Registratie: Juni 2001
  • Laatst online: 17:32

Reptile209

- gers -

In aanvulling op /me pedorus: tijdens het typen staat Excel in 'editing mode'. Het is vrijwel onmogelijk (vieze hacks daargelaten) om op dat moment macro's of andere code uit te voeren. Dat maakt je gewenste oplossing dus al bijna onhaalbaar...

Zo scherp als een voetbal!


Acties:
  • 0 Henk 'm!

  • 107mb
  • Registratie: Juni 2004
  • Laatst online: 15:17
duidelijk.

Ik maak een formulier waarin de gewenste functionaliteit komt te staan.

bedankt voor de heldere antwoorden