Help!

PC-Problemen?
De vrijwilligers van Oplossing.be zoeken gratis met u mee!

Hulp bij posten

Recente topics

Auteur Topic: Userform in Excel  (gelezen 1620 keer)

0 leden en 1 gast bekijken dit topic.

Offline Jempje

  • Lid
  • *
  • Berichten: 54
  • Geslacht: Man
  • Wil veel bijleren !
Userform in Excel
« Gepost op: 10 februari 2023, 10:38:33 »
Heb enkele vraagjes om mijn userform nog beter te maken. 

In mijn invulformulier heb ik een keuzelijst "Hoofdoorzaak" als ik daar een item kies bv Niet Pickklaar wil ik ook dat dan de volgende keuzelijst verschijnt "Niet Pickklaar" Dus..  mijn userform mag dan de andere "Artikel beschadigd " "Pallet -Box fout" "Palleteiland" "Systeemfout" "ANDERE" en "Opmerkingen" niet laten zien.

Kies ik bij "Hoofdoorzaak" bv "Artikel beschadigd" moet keuzelijst "Artikel beschadigd" zichtbaar worden en de rest NIET.

Dan als ik bv in "Artikel beschadigd" een keuze heb gemaakt moet het veld "txtOpmerkingen" verschijnen.

Als ik in welke keuzelijst ook het woord ANDERE aan klik moet het keuzeveld "ANDERE, fout ontbreekt in de lijst" verschijnen.

Vraagjes:

Hoe kan ik de keuzerondjes van Shift 1 enz.. activeren, ipv de keuzelijst?
Hoe kan ik in "HU nummer" er voor zorgen dat je maar max 10 cijfers kan invullen?
Hoe kan ik er voor zorgen in de "Errors DATA" lijst dat de kolom "Locatie" alleen maar hoofdletters maakt, ook als de gebruiker kleine letters invult?

Heel erg bedankt alvast !
Grtjs Jacky

Offline Jempje

  • Lid
  • *
  • Berichten: 54
  • Geslacht: Man
  • Wil veel bijleren !
Re: Userform in Excel
« Reactie #1 Gepost op: 10 februari 2023, 10:39:49 »
Sorry, hier nog het bestand !
Grtjs Jacky

Offline SoftAid

  • Administrator
  • Ambassadeur
  • *****
  • Berichten: 20.177
  • Geslacht: Man
  • Nobody is perfect, not even me...
Re: Userform in Excel
« Reactie #2 Gepost op: 10 februari 2023, 12:09:43 »
Hallo Jempje,

in bijlage code die ik lang geleden geschreven heb om een rekening te maken op een laptop, als kassa bedoeld.

De programmacode van het formulier "UF2RekeningMaken" maakt dat je trapsgewijs dat ongeveer bereikt wat jij wenst.

Die code zorgt voor een keuze in Combobox1, en aan de hand van die keuze wordt de inhoud van Combobox2 bepaald, en na de keuze in combobox 2 wordt opnieuw de mogelijke keuze in Combobox3 weergegeven, enzovoort....

Mogelijk heb je hier iets aan.

succes,

:) SoftAid :)             

Maximum grootte bijlagen vergroot naar 4 MB
Dubbelposten, het posten op verschillende forums van dezelfde vraag, dient op
voorhand gemeld te worden, met een link naar het topic op de andere site.
Overtreding van deze regel kan bestraft worden met verbanning !

Offline MollyVH

  • Excel-Expert
  • Oplosser
  • *****
  • Berichten: 847
Re: Userform in Excel
« Reactie #3 Gepost op: 10 februari 2023, 16:43:58 »
Hallo Jempje,

Wat mij regelmatig opvalt is dat je meestal vlugger antwoord krijgt als je niet meteen met een ganse reeks vragen van start gaat...

Een eerste tip kan ik je wel al geven. Misschien heb je dat zelf al afgeleid uit SoftAid's voorbeeld, zoniet: je hebt nu 5 comboboxes staan met keuzes die afhankelijk zijn van 'hoofdoorzaak'. Beter dan die al dan niet zichtbaar te maken zou je er beter 4 van verwijderen, en de ene resterende vullen op basis van de keuze in 'hoofdoorzaak', dat is echt wel een stukje efficiënter. Het impliceert natuurlijk wel dat je de code om je gegevens weg te schrijven zal moeten herwerken, maar als ik zie wat je zelf al gepresteerd hebt lukt dat vermoedelijk wel.
Als je daar al eens mee aan de slag gaat zien we later misschien wel wat er verder nog beter kan.

Mvg,
Molly
Windows 11 Home NLD 64bit
11th Gen Intel(R) Core(TM) i7-11700 @ 2.50GHz 2496
Aspire TC-1660
Intel(R) UHD Graphics 750 1024MB
476 GB SSD KINGSTON OM8PCP3512F-AA
1863 GB HD Seagate ST2000DM008-2FR102
Office 2021 Professional Plus NLD 64bit

Offline Jempje

  • Lid
  • *
  • Berichten: 54
  • Geslacht: Man
  • Wil veel bijleren !
Re: Userform in Excel
« Reactie #4 Gepost op: 11 februari 2023, 13:01:10 »
Hallo,
Was al eens aan de slag gegaan met de codes van SoftAid, maar lukt niet echt. Moeilijk waar te plaatsen, kreeg al een eror melding.
Toch misschien wel ff zeggen dat ik deze file al tot stand heb gebracht met hulp van jullie uit het verleden.  Ik ken heel weinig of niets van Vba codes schrijven.  Ben ondertussen wel zover dat ik sommige dingen begrijp wat ze doen als ik ze lees, maar thats it. Vraag me bv niet wat doet End With enz...  Dus bij mij is het meestal copie past van codes wat vaak al heel aardig lukt, dat gezegd zijnde vind ik dat Molly wel gelijk heeft, keep it simple was ook mijn doelstelling maar dat lukte niet.  Om een lang verhaal kort te maken ff opnieuw beginnen misschien met alle respect voor de hulp uiteraard, SoftAid.

Mij lijkt het dan ook overzichtelijker in de excel sheet waar de gegevens uiteindelijk in terecht komen dat rechts naast de kolom "Hoofdoorzaak" maar 1 kolom staat met de afwijkingen (bv Niet pickklaar). Waarom ik deze wou apart houden is simpelweg de reden hiervoor om de gebruikr een niet te lange keuzeveld lijst voor te schotelen want dan vinden ze moeilijk de afwijking.

Dus... graag het volgende proberen aub.  Als ik dus in de hoofdoorzaak keuzelijst bv "Artikel beschadigd" aan klik zou ik dan graag alleen de items uit die kolom van de sheet dropdowns "Artikel beschadigd" willen zien in de keuzelijst "Afwijking". Kies ik uit de hoofdoorzaak keuzelijst "Niet Pickklaar" dan mogen alleen de items uit de kolom "Niet PICKKLAAR" te zien zijn in de keuzelijst "Afwijking. En zo verder ook nog vvor de andere 3 (Pallet Box fout, Palleteiland en Systeemfout). Is dit beetje duidelijk omschreven?

Kunnen jullie mij dit in de Kwaliteitsopvolging TEST, die ik heb toegevoegd opnieuw, aanpassen aub?
Grtjs Jacky

Offline MollyVH

  • Excel-Expert
  • Oplosser
  • *****
  • Berichten: 847
Re: Userform in Excel
« Reactie #5 Gepost op: 11 februari 2023, 15:05:03 »
Hallo Jacky,

Citaat
Ik ken heel weinig of niets van Vba codes schrijven
Oeps, dat verandert de kwestie een beetje...

Ik heb al een paar kleinigheden aangepast in de werking van het userform, en meteen ook de kolommen gereduceerd op het betreffende werkblad.
En tegelijk (dat was 2 maal een extreem lichte aanpassing) ook hiervoor al gezorgd:
Citaat
Hoe kan ik in "HU nummer" er voor zorgen dat je maar max 10 cijfers kan invullen?
Hoe kan ik er voor zorgen in de "Errors DATA" lijst dat de kolom "Locatie" alleen maar hoofdletters maakt, ook als de gebruiker kleine letters invult?

Mvg,
Molly
Windows 11 Home NLD 64bit
11th Gen Intel(R) Core(TM) i7-11700 @ 2.50GHz 2496
Aspire TC-1660
Intel(R) UHD Graphics 750 1024MB
476 GB SSD KINGSTON OM8PCP3512F-AA
1863 GB HD Seagate ST2000DM008-2FR102
Office 2021 Professional Plus NLD 64bit

Offline Jempje

  • Lid
  • *
  • Berichten: 54
  • Geslacht: Man
  • Wil veel bijleren !
Re: Userform in Excel
« Reactie #6 Gepost op: 12 februari 2023, 12:40:41 »
Hey,

Top gedaan, alweer een stap verder op weg naar gebruiksvriendelijk en ingave foutvrij bestand, merci tot daar.  Zoals je zei, liefst de vragen apart stellen en niet alles op een hoopje, tenzij het een superklein issue is uiteraard.

Wat betrefd de HU nummer, wil ik ook graag dat je deze altijd compleet invult en nooit letters typt.  Deze bestaat namelijk altijd uit 10 cijfers en nooit letters.  Dus wat moet ik dan aanpassen aan deze code?  Ook het artikelnummer, mag nooit letters bevatten en max 7 cijfers bevatten, kan ook 5 of 6 cijfers bevatten.     Sheets("Errors DATA").Cells(Rows.Count, 1).End(xlUp).Offset(1).Resize(, 12).Value = Array((txtDatumUur), _
    txtDatum, cboNaamVoornaam, cboShift, cboZone, txtHU, UCase(txtLocatie), txtArtikelnummer, cboHoofdoorzaak, _
    cboAfwijking, txtAndere, txtOpmerkingen)

 in bijlage mijn laatste versie van het bestand
Grtjs Jacky

Offline Jempje

  • Lid
  • *
  • Berichten: 54
  • Geslacht: Man
  • Wil veel bijleren !
Re: Userform in Excel
« Reactie #7 Gepost op: 12 februari 2023, 13:07:04 »
Hey, Nog misschien even zeggen dat het veld ANDERE ook NIET mag kunnen ingevuld worden als je bij Afwijking een keuze maakt uit al de rest, dus niet kiest voor ANDERE.  Onderstaande heb ik al zelf ontdekt maar hier ontbreekt nog mijn bovenstaande vraag. Private Sub cboAfwijking_Change()

If Trim(Me.cboAfwijking.Value) = "ANDERE" Then
Me.txtAndere.SetFocus
End If
End Sub
Grtjs Jacky

Offline RedHead

  • Excel-Expert
  • Ambassadeur
  • *****
  • Berichten: 2.280
  • Geslacht: Man
  • Met Excel lukt 't wel.... (toch???)
Re: Userform in Excel
« Reactie #8 Gepost op: 12 februari 2023, 17:21:07 »
mbt je laatste vraag... Voeg dit blokje toe aan je Formulier Module...
Private Sub cboAfwijking_Change()
    txtAndere.Visible = UCase(cboAfwijking.Value) = "ANDERE"
End Sub
Daarmee verdwijnt het invoervoerveld netjes van het formulier als het Afwijkingveld een andere waarde dan "Andere" heeft.
______________________________

Groet, Leo

Offline Jempje

  • Lid
  • *
  • Berichten: 54
  • Geslacht: Man
  • Wil veel bijleren !
Re: Userform in Excel
« Reactie #9 Gepost op: 12 februari 2023, 19:23:16 »
Top Leo, werkt ook al.  Nog iemand een antwoord op de vraag om HU nummer veld verplicht met 10 cijfers in te vullen.  Zal waarschijnlijk een eenvoudige zijn.
Grtjs Jacky

Offline RedHead

  • Excel-Expert
  • Ambassadeur
  • *****
  • Berichten: 2.280
  • Geslacht: Man
  • Met Excel lukt 't wel.... (toch???)
Re: Userform in Excel
« Reactie #10 Gepost op: 12 februari 2023, 20:40:59 »
Jempie, LOL... álles wat je weet is over het algemeen eenvoudig.  ;D
Maar dit is een oplossing voor je vraag...
Private Sub txtHU_Exit(ByVal Cancel As MSForms.ReturnBoolean)
    If txtHU.TextLength <> 10 Then
        MsgBox "Het HU nummer moet exact 10 cijfers zijn", vbOKOnly, "Fout aantal cijfers..."
        Cancel = True
    End If
    On Error Resume Next
    If CLng(txtHU.Text) Then
        If Err.Number = 13 Then
        MsgBox "In het HU nummer mogen geen letters worden ingevoerd"
        Cancel = True
        End If
        On Error GoTo 0
    End If
End Sub
______________________________

Groet, Leo

Offline RedHead

  • Excel-Expert
  • Ambassadeur
  • *****
  • Berichten: 2.280
  • Geslacht: Man
  • Met Excel lukt 't wel.... (toch???)
Re: Userform in Excel
« Reactie #11 Gepost op: 12 februari 2023, 20:43:52 »
Op eenzelfde wijze kan je ook je artikelnummer beetpakken. Al zal je daar een uitvraging tussen de 2 genoemde waarden moeten doen. Een hele sterke, maar lastiger oplossing voor de beginner, is via de RegExp. Dan kan je een vergelijk maken met een vooraf opgegeven string. Maar op mijn gegeven manier lukt het ook hoor. ;)
______________________________

Groet, Leo

Offline MollyVH

  • Excel-Expert
  • Oplosser
  • *****
  • Berichten: 847
Re: Userform in Excel
« Reactie #12 Gepost op: 13 februari 2023, 10:01:59 »
Ik had ook nog een paar ideetjes om het allemaal wat netter en gebruiksvriendelijker te maken, maar het stopt hier voor mij:
https://www.helpmij.nl/forum/showthread.php/967256-Userform-veld-verplicht-met-10-cijfer

En dat amper een paar uur nadat we, nota bene op zondagavond én aangaande een vraag met professionele doeleinden, al onder druk werden gezet met
Citaat
Nog iemand een antwoord op de vraag om HU nummer veld verplicht met 10 cijfers in te vullen

Bovendien, het kan niet op, in een draadje waarin ook SoftAid al had gereageerd, en TS dus nogmaals de forumregels betreffende dubbelposten had kunnen zien.
Dus wat mij betreft driedubbele  :default_thumpdown: :default_thumpdown: :default_thumpdown:
Windows 11 Home NLD 64bit
11th Gen Intel(R) Core(TM) i7-11700 @ 2.50GHz 2496
Aspire TC-1660
Intel(R) UHD Graphics 750 1024MB
476 GB SSD KINGSTON OM8PCP3512F-AA
1863 GB HD Seagate ST2000DM008-2FR102
Office 2021 Professional Plus NLD 64bit

Offline Jempje

  • Lid
  • *
  • Berichten: 54
  • Geslacht: Man
  • Wil veel bijleren !
Re: Userform in Excel
« Reactie #13 Gepost op: 13 februari 2023, 10:17:10 »
Zalig, al weer een stapje verder, voor jou misshien simpel ja, maar ik moet toch nog veel bijleren.  Vraagje kan je mij ook nog de code toevoegen zodat ik voor de "Shift" met een keuzerondje de keuze kan maken ipv keuzelijst?  Bedoeling is ook dat je maar 1 keuze kan maken.  Bedankt alvast !  Bijgevogd laatste versie bestand.
Grtjs Jacky

Offline Jempje

  • Lid
  • *
  • Berichten: 54
  • Geslacht: Man
  • Wil veel bijleren !
Re: Userform in Excel
« Reactie #14 Gepost op: 13 februari 2023, 10:32:34 »
Beste Molly,

Dit was zeker niet mijn bedoeling, maar voor deze had ik de vraag gekregen het voorstel morgen te laten zien, vandaar dat het misschien leek als druk.  Ik dacht dat dit forum bedoelt was dat daar iedereen zijn voorstel kon posten.  Wist niet dat je elders de vraag dan nit mocht stellen.  Hoe meer ideeën hoe beter, toch?

Ik zal hier zeker in de toekomst op letten, nogmaals mijn exuses.

Dit neemt niet weg dat ik ontzttend blij ben met jullie hulp, hopelijk beseffen jullie dat.  Ik heb hier al meermaals in het verleden plezier van gehad.

Grtjs Jacky
Grtjs Jacky

 


www.combell.com