Hallo BlackDevil,
héél aantrekkelijk Userform heb je daar geknutseld.
Voor een goed begrip : we kunnen er in die vorm zeker mee verder !
Je voelt hem al komen : er volgt ook een "maar". Die houdt enkel in dat het nog wat beter kan.
Heeft niets met de lay-out te maken, hoor, want daarvoor krijg je 10/10.
Aangezien het toch een titanenwerk is (en nog effe zal blijven) zou het me niet verbazen mocht je zin krijgen om ook daar nog eens in te vliegen. Het is sowieso maar eenmalig, en je kan er naderhand alleen maar plezier aan beleven.
De eerste mogelijke verbetering betreft de volgorde van al je besturingselementen. Als ik zelf met uitgebreide formulieren werk heb ik mijn rechterhand aan de muisknop en mijn linkerhand aan de tab-toets. Op die manier vlieg je door je formulier.
Klik eens even, als je wil, in InternID_Nr en druk vervolgens telkens opnieuw de tab-toets in. Dan zie je dat de focus telkens op een volgend besturingselement komt te liggen, maar dat gaat met bokkensprongen. Dat komt omdat Excel die volgorde voor jou heeft vastgelegd tijdens het toevoegen van die besturingselementen.
Welnu, die volgorde kan je zelf voor eens en voor altijd veranderen volgens je wensen. Dan wordt navigeren daarna heel aangenaam.
Je kan dat doen in hetzelfde scherm waar je het formulier hebt ontworpen, en dan onder Eigenschappen bij TabIndex. Over de bestaande nummering moet je je zelfs geen zorgen maken. Selecteer achtereenvolgens de gewenste elementen op je formulier. De nummering mag je bij 0 beginnen, dus bv. InternID_Nr krijgt index 0, SOSA_Nr index 1, enz.
En als je er niet gerust in bent kan je tussendoor je formulier eens starten en de reacties op de tab-toets bekijken
Een tweede (en laatste) mogelijke verbetering (en da's er eentje waar niet de eindgebruiker maar enkel wij, in onze hoedanigheid van would be-programmeur, de vruchten zouden van dragen) zit hem in de namen van je besturingselementen. Zo zie ik al 96 textboxen staan en ze heten (da's ook door Excel zelf gedaan) Textbox1 tot Textbox96. Het is altijd veel interessanter om een betekenisvolle naam te gebruiken. Die kan je veranderen (hoe bestaat het) bij (Name). Over de benamingen van de Labels zou ik me geen zorgen maken, maar alle andere benamingen zullen moeten gebruikt worden in de vba-code. Het zal al moeilijk genoeg zijn, dus ons ook nog moeten afvragen waarvoor Textbox73 precies staat is niet echt leuk.
Nog erger zou zijn als de code later door iemand anders dient te worden bijgeschaafd, wat je nooit 100 % kan uitsluiten.
Die benamingen zouden bv. mogen lijken op de teksten op je labels maar moeten uiteraard wel allemaal uniek zijn.
Zou je dat zien zitten ?
Groetjes,
pitufo