• 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 VBA aanpassen

Status
Niet open voor verdere reacties.

stephendeman

Gebruiker
Lid geworden
14 dec 2017
Berichten
28
Beste Allen,

In een sheet (bijlage) heb ik diverse comboboxen geplaatst die transponeren naar de cel erachter. Dit biedt degene die hiermee moet werken de mogelijkheid de variabelen te zoeken uit een dropdown box door middel van typen. De Combobox werkt prima echter; Als ik de comboboxen achteraf wil aanpassen, dan pakt hij de laatst opgemaakte combobox. Dit is niet handig omdat, hierin andere cellen staan om te transponeren. Wellicht denk ik te moeilijk (ben geen VBA wizzard helaas) of maak ik een (denk)fout.

Hopelijk kan iemand opheldering geven in deze duisternis :)
 

Bijlagen

Ik zie hier geen probleem.
De juiste cellen in de groene Opbrengsten box worden gevuld.
Je uitleg is erg summier, dus misschien dat je even stap voor stap moet uitleggen wat te doen om de probleem te veroorzaken.
Daarnaast is er naar mijn mening helemaal geen VBA nodig, dus haal dat allemaal eens weg.
 
Beste Edmoor,

Het gaat erom dat er uit een lijst van 150 variabelen de juiste opleiding gekozen word; een normale dropdownlist geeft niet de mogelijkheid dit al typend te doen waardoor je door de lijst moet scrollen. Via deze VBA code kan iemand typend zoeken naar de suggestie. Maar zit met het volgende probleem (excuses als de uitleg wat summier was):

- Stel ik maak 20 comboboxen en maakt voor iedere box de VBA code aan zoals deze in het voorbeeld te vinden is. Het enige wat ik bij iedere code aanpas is de cel die gevuld moet worden bijvoorbeeld $C$7;$H$7 (De achterliggende cel).

Echter wat gebeurd er:
- Als ik merk dat ik ergens een fout heb gemaakt en ik moet terug naar bijvoorbeeld Combobox5 om iets aan te passen, dan pakt hij de VBA van de laatste ComboBox bijvoorbeeld 20. Waar dat door komt, geen flauw idee. Maar het zorgt er wel voor dat wanneer er een fout is gemaakt ik alles opnieuw moet doen.

Nogmaals ben geen VBA koning maar, dit lukte nog wel. Echter een fout is snel gemaakt, en wil dan niet iedere keer alle boxen aan te hoeven passen.

Wellicht zijn er andere smaken die hetzelfde mogelijk maken (zoeken naar het juiste antwoord).

Hoop dat je een oplossing weet.
 
Wat ik al zei, er is volgens mij helemaal geen VBA nodig.
Haal dat dus allemaal weg. Iedere wijziging in een combobox is direct zichtbaar op de juiste regl in de groene Opbrengsten box.

Wat prbeer je met die VBA code te bereiken?
 
Het grote nadeel van een reguliere dropdown via gegevensvalidatie is dat als we 150 keuzes hebben het één grote zoekpuzzel wordt, terwijl een VBA als in het voorbeeld de mogelijkheid biedt om typend te zoeken waarbij je dan voorbeelden/suggesties krijgt. Bij een reguliere dropdown moet je dan exact de waarde opgeven anders error.

Een zelfde probleem hebben we bijvoorbeeld met klanten; +5000 klanten die opgezocht moeten kunnen worden en berekend. Het scrollen naar beneden is dan echt onwerkbaar. Een dergelijke VBA biedt dan de mogelijkheid om te zoeken op achternaam bijvoorbeeld.

Echter blijft er 1 raadsel waarom neemt hij iedere keer de code over van de laatst ingevoerde combobox :(
 
Dan begrijp ik het nog steeds niet want je hebt alleen voor ComboBox20 een stuk VBA code staan en die heeft niks met een klantnaam te maken.
 
Het gaat in dit geval puur om de opleidingen, ik gebruik echter dezelfde code om achternamen te kunnen zoeken.

150 opleidingen (In het voorbeeld)
5000 namen

Het betreft hier kort gezegd gewoon een zoekfunctie die zoekt in een lijst en het dan transponeert naar de cel erachter. Een gewone gegevensvalidatie kan niet omgaan met "zoeken" en is enkel gewoon een dropdownlijst. Met 150 of 5000 variabelen is dat gewoon niet te doen.

In bijvoorbeeld Access kan zoiets iets ook maar daar is het werken met tabellen/Vlookups etc weer lastiger dus vandaar de keuze voor Excel.
 
Maar in die comboboxen kan je gewoon typen en dan toont hij de overeenkomstige waarde.
Die waarde staat dan ook direct in die groene box erachter.
Dat is dus niet wat je bedoelt?
 
Klopt en dat is ook precies de bedoeling echter;
Stel ik voeg de laatste combobox toe e.g. nr. 20 en sla deze op, kom er dan achter dat er een fout zit in combobox 8 en open deze code dan geeft hij de code van de laatst toegevoegde combobox; 20. Echter zie ik dan niet de code van combobox 8 waar ik de waarde wil aanpassen. Snap niet hoe ik deze weer tevoorschijn kan toveren. Krijg alleen de code van box 20 te zien :(

Wellicht kijk ik dan verkeerd.
 
Er is geen VBA code voor ComboBox 8.
Er is alleen VBA voor ComboBox 20.
 
Dat bedoelde ik :(

Ik stel in Notepad de code op en verander de variabelen. Teken een nieuwe Combobox en voer de code in, sla op en ga naar de volgende. Als ik dan terugga om iets aan te passen in bijv. 8 dan zie ik code van box 20. Code 8 is weg.
 
Notepad???
Ik ben de draad helemaal kwijt nu.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan