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

Excel formulier dropdown list

Status
Niet open voor verdere reacties.

bjack61

Gebruiker
Lid geworden
20 dec 2012
Berichten
44
Ik heb een invulformulier gemaakt in Excel met een dropdown menu. Welke vba code moet ik toevoegen en waar, zodat je alleen maar kan kiezen uit de lijst.
 
Als het een Combobox is zet je deze instellingen goed:

MatchRequired op TRUE
Style op fmStyleDropDownList
 
En is het een Userform, of heb je van een werkblad een 'formulier' gemaakt met Validatielijsten? Zoals JP al zei: graag een voorbeeld.
 
PSCS Bestellijst

Sorry collega's, normaal voeg ik bestand toe, bij deze dan wel. Kunnen jullie mij helpen met de vragen in het bestand onder tabblad "Opstartblad" Heel erg bedankt alvast.
 

Bijlagen

  • PSCS Formulier Bestelling magazijn - Kopie HelpmijNL.xlsm
    257,5 KB · Weergaven: 74
Excel Formulier gegevens

Ik heb een formulier "frmIngaveBestelling" dat gegevens plaatst in een tabel, tabblad "IngaveBestelling". Mijn vragen hierover staan op het "Opstartblad" van de file in bijlage. Grt Jacky
 

Bijlagen

  • PSCS Formulier Bestelling magazijn - Kopie HelpmijNL.xlsm
    263,9 KB · Weergaven: 60
Heb je navraag gedaan waarom je geen Access mag gebruiken? Wat jij wil maken is in Access zoveel eenvoudiger, dat wil je gewoon niet weten.
 
Ja zeker, hier zijn ze al jaren over bezig. Maar helaas, access gaat er uit daar. En ja, ik heb die database ook gemaakt voor groot deel, superhandig. Maar crashte ook vaak omdat er 20 gebruikers in dezelfde file bezig waren. Kan jij me helpen met mijn vragen?
 
Als je database al crashte gaat dat door Excel te gebruiken niet per se betrouwbaarder worden. Dit gaat alleen werken als men Office 365 gebruikt en de file op Sharepoint of OneDrive wordt gezet zodat co-authoring mogelijk is.
Je kan de lijst met items in een combobox laden door je brongegevens in een tabel te plaatsen. Stel de tabel (met slechts 1 kolom) staat op tabblad "Lijsten" en je noemt de tabel "ComboBron1" en je combobox heet ComboBox1:
Code:
ComboBox1.List = ThisWorkbook.Worksheets("Lijsten").ListObjects("ComboBron1").DataBodyRange.Value
Om die generieke foutmelding te vervangen door je eigen stel je van de combo de eigenschap MatchRequired in op False en voeg je deze code toe:
Code:
Private Sub ComboBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
    If ComboBox1.ListIndex = -1 Then
        MsgBox "S.v.p. een keuze uit de lijst maken!"
        Cancel = True
    End If
End Sub
 
PSCS Lijst

Beste Jan Karel, Lukt me niet met de lijsten te koppelen aan de ComboBox1. Vind de fout niet. Kan je me dit niet toevoegen in het bestand aub. Ook het 2de voorstel.
 
PSCS Lijst

Hey Jan Karel, De melding als je niet uit de lijst kiest is gelukt.
 
Excel Formulier gegevens toevoegen

Dit is de link van de oplossing met tekst, vraag was al gesloten. Ik heb dit ook toegepast werkt perfect. Merci alvast.
https://www.helpmij.nl/forum/showthread.php/931139-Tekstvelden-vullen-na-selectie-in-combobox
Ik had wel nog een aantal vragen want ik krijg de ganse tijd een foutmelding als ik de gegevens in mijn tabel "Ingave bestelling" wil toevoegen krijg ik fout 1004 door uitvoering, en ik krijg die niet weg, moet bestand afsluiten zonder opslaan. Anders krijg ik het niet meer ok erg Vervelend. Ik weet er staan nog foutjes in maar ik denk dat sommige VBA niet samen gaat. Ik kan dan ook geen vba zelf schrijven. Gebruik voorbeelden uit Helpmij.nl. Ben beetje radeloss, 2 uur gewerkt, krijg het niet goed. Als de file werkt om de zone, artikel, omschrijving, Eenheid toe te voegen in "Ingave Bestelling" mag je mij helpen met onderstaande vragen.

1. Hoe doe je dan de tekst automatisch laten uitvullen, zo gelijk je in een gewone cel Terugloop doet? Welke code moet je voor een txt cel gebruiken in een formulier om de tekst te laten uitvullen?
2. Ik zou dan ook graag als ik een selectie maak in een combobox dat er in een image veld een foto verschijnt die ik in diezelfde tabellen heb staan in een cel.
3. Ik zou graag het jaar, Datum ik de VBA wil in orde maken voor de gegevens in de tabel zonder uur en Datum met uur in 3 txt velden willen hebben. Die moeten dan verschijnen vanaf dat je start met de zone in te geven.
4. In het veld pallet mag je alleen een "X" kunnen typen, grote of kleine letter. Is geen verplicht veld. Maar als je dan een X typt zonder aantallen moet je ook een melding krijgen.

Merci alvast Grt Jacky
 

Bijlagen

  • BestelFormulier PSCS.xlsm
    235,9 KB · Weergaven: 58
Dus het moet even voor je opgelost worden zonder dat je de oplossing begrijpt?
 
Ok, ik weet dat het allemaal wat chaotisch is geworden, maar ik ben door te zoeken, van de ene oplossing/ nieuwe suggestie, naar de andere gestapt en daardoor werkt nu niets meer fatsoenlijk. Ik kreeg dan soms geen antwoord na 1 dag, vandaar de zoektocht naar oplossingen. Ik kan ook een nieuwe file sturen waar ik precies uitleg wat het doel is. Sorry voor het ongemak.
 
Alle vragen omtrent zelfde onderwerp samengevoegd
 
Op de blauwe tekst van een mod kan je niet klikken.

Het hele formulier is onduidelijk omdat de kolomnamen niet kloppen met de labels. Dus wat waar moet komen in welk format is niet echt duidelijk. Zo zal het wel ongeveer werken. Zelf moet je maar even zoeken hoe je bepaalde foute invoer beter kan ondervangen.
 

Bijlagen

  • BestelFormulier PSCS.xlsm
    216,9 KB · Weergaven: 43
Hallo VenA, Top !!! Werkt prima, knap hoe je met zo weinig VBA tekst zoveel kan bereiken. Ik heb al veel zoekwerk gedaan maar soms komen er ook andere oplossingen ?? met veel VBA code. Ligt dat aan hoeveel kennis je hier van hebt?

Ik heb al een aantal dingen aangepast. Locatie, Eenheid en Gewone datum toegevoegd. Ook in het veld pallet krijg je melding om een "X" te plaatsen. Alleen als je geen "x" zet en dan toch verder gaat aanvaard hij dit toch, wat is nog niet compleet aan de code?

In de zone kan ik "A" typen en wordt dit al automatisch aangevuld echter in de combo Artikelnummer gaat dit niet, wel echt vervelend, want dan moeten gebruikers altijd in de hele lijst scrollen, is dit aan te passen? Kan ik hier bv ook gewoon "200" typen en dan op enter drukken?

Hoe kan ik ook de foto laten zien in het invulformulier uit de lijst "PSCSTotaallijst"? Hoeft niet naar de "IngaveBestelling" lijst geladen, zou bestand te zwaar maken. Alleen voor de gebruiker de foto te laten zien.

Ik wou ook de namen in een combobox zetten maar dit lukte niet door gewoon de vba # cboNaam.List = Sheets("Naam").Columns(1).SpecialCells(2).Value# te kopiëren, en er net onder bij te zetten. Wat doe ik hier fout?

Nogmaals bedankt voor de hulp, en ik wil ook altijd bijleren, want ik ken niet veel van VBA, begrijp soms wel wat er staat. Dus nog een paar vraagjes. Waar heb je ergens de formaat van de datum en uur gezet. Stel ik wil dat de datum zo verschijnt: "17/01/2021" dus met schuine streep.
Waarom staat er bij "namen beheren" Table1 en Table2, heb jij dit moeten toevoegen, hoe doe je dat, en waarvoor dient het? Mag hier Afbeelding en ZoneID weg?

Ik wil ook nog even iets vragen over de afspraken op deze site. Ik stel nu een aantal vragen, is het niet de bedoeling om de vragen apart te stellen?

Grt Jacky In bijlage de file
 

Bijlagen

  • BestelFormulier PSCS aangepast.xlsm
    272,5 KB · Weergaven: 32
Laatst bewerkt:
Het gebruik van weinig code heeft inderdaad met kennis en logisch nadenken te maken.

De verplichte velden heb ik aangegeven in de tag van de text- en comboboxen. Als je dit gestructureerd doet dan kan je eenvoudig met een lusje door de objecten heen lopen en controleren wat er in de tag staat. Als je bijvoorbeeld bij cboArtikel kijkt dat staat er bij de tag van dit object C_Artikelnummer en bij cboZone staat C_Zone. Door te controleren of de tag met een C begint weet je dat het een verplicht veld is. Door de 'naam' van het object mee te nemen in de tag kan je deze weer gebruiken in de melding die je wil weergeven. (mid(tag,3) Een soortgelijk trucje gebruik ik ook om na het selecteren van het artikel een aantal textboxen te vullen.

Als het verplicht is om bij Pallet een 'X' in te geven dan is dit een overbodig veld in jouw formulier. De controle gaat fout omdat je er alleen bij het verlaten erop controleert en niet bij het opslaan. Je moet er ook opletten dat in VBA 'x'<> 'X' is.

Volgens mij werkt het zoeken van getallen in een combobox niet. Als je er tekst van maakt dan gaat het wel goed.

Ik doe nooit wat met afbeeldingen in een document omdat dit het bestand onnodig groot maakt. In dit linkje staat wel een oplossing maar moet volgens mij eenvoudiger kunnen. https://www.helpmij.nl/forum/showthread.php/411660-Afbeelding-vanuit-werkblad-naar-userform

Waarom het niet gelukt is om de combobox met namen te vullen weet ik niet omdat het niet in het document staat. Ik zou er ook geen apart tabje voor aanmaken maar de 'vaste gegevens' voor het vullen van de comboboxen in 1 tab te zetten (zie tab 'lijsten')

Met format kan je de weergave manipuleren.

Het is altijd een goed idee om van een gegevensbereik een intelligente tabel te maken. De voordelen zijn legio. Als je er meerdere gebruikt dan kan je ze ook een logische naam geven die je dan weer kan gebruiken in de code.

Zie bestandje voor de uitwerking van het geheel. Bij het gebruik van datums moet je even opletten. VBA werkt met de Amerikaanse datumnotatie. Dus mogelijk moet je Cdate of Format gebruiken om de juiste waarde op te slaan. Waarom je een textbox vult met Now en 1 met Date zal wel een goede reden hebben die ik niet begrijp.
 

Bijlagen

  • BestelFormulier PSCS aangepast.xlsm
    271,1 KB · Weergaven: 94
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan