Help!

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

Hulp bij posten

Recente topics

Auteur Topic: Excel-beperking mbt datum pré 1900 wegwerken met VBA  (gelezen 244531 keer)

0 leden en 2 gasten bekijken dit topic.

Offline pitufo

  • Ambassadeur
  • *****
  • Berichten: 1.343
  • Geslacht: Man
Re: Excel-beperking mbt datum pré 1900 wegwerken met VBA
« Reactie #75 Gepost op: 24 december 2018, 13:47:03 »
Ik hang het aangepaste bestandje even aan zodat je eens kan kijken of ik de formule goed geïnterpreteerd heb :D .

Perfecto ! Maar dat wist je al, gezien het verhoopte resultaat van de formules  8)

Een heel klein detail misschien, maar dat ligt volkomen aan mij, want had het in het voorbeeld ook zo gedaan : als je de celverwijzing naar N5 absoluut maakt ($N$5) wordt kopiëren van de formule wat plezanter.

Ik zag trouwens nog een rare formule staan in N7. Die is nu geworden "=N5".
Geen paniek : dat gaat echt. In N7 moet daartoe de opmaak "standaard" gewijzigd worden naar "0000000".
Je voelt het al : dan zou N5 ook helemaal weg kunnen, en verwijzen we naar $N$7 in de overige formules.
Maar ik behoud, behoudens groen licht  ;) , N5 vooralsnog als invulcel. Anders wordt het weer wennen aan N7...

Groetjes,
pitufo
"De computer doet wel degelijk wat je hem vraagt,
 maar NIET wat je DENKT dat je hem vraagt"

Offline BlackDevil

  • Ambassadeur
  • *****
  • Berichten: 1.029
  • Geslacht: Vrouw
  • veni vidi vici
Re: Excel-beperking mbt datum pré 1900 wegwerken met VBA
« Reactie #76 Gepost op: 24 december 2018, 14:37:11 »
Hey pitufo,

Bedankt voor de verduidelijking inzake de beveiliging.

De enige reden waarom ik al dan niet 'schrik' zou beginnen krijgen is gewoon het feit dat ik zelf niets afweet van VBA en dat, indien er zich ooit een error zou voordoen of er toch iets gewijzigd zou moeten worden qua indelingen of dergelijke, ik dan geen flauw benul ga hebben hoe het te moeten oplossen of aanpassen. Maar eens er gegevens zijn ingebracht word het dus wel een pak lastiger om 'buitenstaanders' in te roepen voor hulp mbt de privacy van de gegevens...
Anderzijds is het ook zo dat ik toch graag zelf enige 'controle' behoud.

En ik moet dus met die tabellen naderhand veel meer nog doen dan enkel die personenfiches eruit halen dus ik moet
wel in de mogelijkheid blijven om met die tabellen te 'werken'. Het is toch wel de bedoeling dat ik de personen maar éénmalig
in een gegevensbestand moet steken, dus dit systeem word de basis van alles.


Ik weet niet hoe jij het in gedachten hebt om de juiste personenfiche op te roepen (mbv het SOSA_nr)
maar aangezien die oproeping een keuze van de gebruiker is (en moet blijven) zie ik niet goed hoe dit anders dan handmatig
kan ingegeven worden. 
Maar aangezien ik héél graag wil bijleren, als dit toch op een andere manier kan, dan hoor ik het natuurlijk wel graag. ;)

Ik zag trouwens nog een rare formule staan in N7. Die is nu geworden "=N5".
Geen paniek : dat gaat echt. In N7 moet daartoe de opmaak "standaard" gewijzigd worden naar "0000000".
Je voelt het al : dan zou N5 ook helemaal weg kunnen, en verwijzen we naar $N$7 in de overige formules.
Maar ik behoud, behoudens groen licht  ;) , N5 vooralsnog als invulcel. Anders wordt het weer wennen aan N7...

Inderdaad, ik was tijdens de opmaak van de personenfiche zo verdiept in het maken van formules dat ik het voor die
cel N7 veel te ver gaan zoeken ben ;), was dus even één van de eerste dingen die ik ooit geleerd heb in excel, nl. het
aanpassen van de getalnotatie, helemaal 'vergeten' ;D.
Ik heb het ondertussen aangepast in mijn versie van het bestand :).

Groetjes,
BlackDevil


1) HP ProDesk (Windows 10 Pro Edu / Intel(R) Core(TM) i5-7500 CPU@ 3.40Ghz 3.41Ghz)
2) Laptop ASUS (Windows 10 Home / Intel(R) Core(TM) i3-3110M CPU@ 2.40GHz 2.40GHz)
Beide (RAM : 8,00 GB / 64-bits besturingssysteem, x64-processor)
Extern (Seagate Backup+ Hub 6TB / Seagate BUP Slim 2TB / Seagate Expansion Desk 5TB / HP ENVY 6030e)
Bullguard Premium Protection / Office Pro Plus 2016 NL

Offline BlackDevil

  • Ambassadeur
  • *****
  • Berichten: 1.029
  • Geslacht: Vrouw
  • veni vidi vici
Re: Excel-beperking mbt datum pré 1900 wegwerken met VBA
« Reactie #77 Gepost op: 25 december 2018, 17:42:15 »
Hallo excellers,

Vooreerst wil ik iedereen een vrolijk Kerstmis wensen.

@pitufo

Ik ben momenteel dus de formules allemaal aan het wijzigen door de vert.zoeken-functie te vervangen door
de functies index en vergelijken volgens de formule die jij had doorgegeven.
Dit lukt allemaal vrij goed maar er is er eentje waar ik niet goed weet hoe ik ze moet opstellen.

Ik moet namelijk in een bepaalde cel enkel het jaartal hebben van de °-datum op een ander werkblad (Geboorten) welk
daar in cel B2 staat. Nu ik weet hoe ik een jaartal uit een datum moet halen maar ik weet dus niet hoe ik de functie JAAR()
moet toevoegen aan de reeds geneste formule die je had opgegeven.
Ik heb diverse manieren geprobeerd maar kom er niet uit.

De formules afzonderlijk zijn de volgende :

=ALS(I2="";"";INDEX(IdxPers;VERGELIJKEN(A2;INDEX(IdxPers;0;1);0);VERGELIJKEN("°-Datum";INDEX(IdxGeb;1;0);0)))
en

=JAAR(Geboorten!B2)
Van het resultaat (een datum) van de eerste formule moet ik dus enkel het jaartal hebben zoals te zien in de tweede formule.

Kan/wil je me even uit mijn lijden verlossen?  ;D

vriendelijke en dankbare groetjes,
BlackDevil

Update 1 :
Heb de juiste formulering gevonden ;)

=RECHTS(ALS(I2="";"";INDEX(IdxGeb;VERGELIJKEN(A2;INDEX(IdxPers;0;1);0);VERGELIJKEN("°-Datum";INDEX(IdxGeb;1;0);0)));4)
1) HP ProDesk (Windows 10 Pro Edu / Intel(R) Core(TM) i5-7500 CPU@ 3.40Ghz 3.41Ghz)
2) Laptop ASUS (Windows 10 Home / Intel(R) Core(TM) i3-3110M CPU@ 2.40GHz 2.40GHz)
Beide (RAM : 8,00 GB / 64-bits besturingssysteem, x64-processor)
Extern (Seagate Backup+ Hub 6TB / Seagate BUP Slim 2TB / Seagate Expansion Desk 5TB / HP ENVY 6030e)
Bullguard Premium Protection / Office Pro Plus 2016 NL

Offline SoftAid

  • Administrator
  • Ambassadeur
  • *****
  • Berichten: 20.127
  • Geslacht: Man
  • Nobody is perfect, not even me...
Re: Excel-beperking mbt datum pré 1900 wegwerken met VBA
« Reactie #78 Gepost op: 26 december 2018, 10:32:39 »
Vooreerst wil ik iedereen een vrolijk Kerstmis wensen.
Ook voor jou de beste wensen, en dat je voet snel mag genezen zijn :)
Update 1 :
Heb de juiste formulering gevonden ;)
=RECHTS(ALS(I2="";"";INDEX(IdxGeb;VERGELIJKEN(A2;INDEX(IdxPers;0;1);0);VERGELIJKEN("°-Datum";INDEX(IdxGeb;1;0);0)));4)
\o/ \o/ \o/ :thumbsup:

:) 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 pitufo

  • Ambassadeur
  • *****
  • Berichten: 1.343
  • Geslacht: Man
Re: Excel-beperking mbt datum pré 1900 wegwerken met VBA
« Reactie #79 Gepost op: 26 december 2018, 10:49:31 »
Hey BlackDevil,

Vooreerst ook voor jou een zalig kerstfeest (weliswaar met terugwerkende kracht maar even gemeend)

De formule die je inmiddels hebt samengesteld kan op die manier worden gebruikt, al zou ik dan eerder het zoeken in dezelfde tabellen laten gebeuren (je zoekt nu zowel in IdxGeb als in IdxPers, wat in andere gevallen eventueel juist wél aangewezen kan zijn).

Tot daar de theorie, want heb je het hier niet over de werkbladen "Idxlst_bk**" ?
En komt dit dan niet terug op de helling te staan ?
Met de formules in "Personenfiche" kan ik leven, maar op de andere werkbladen zou ik resoluut alle formules elimineren !
Dat was toch uiteindelijk de bedoeling dacht ik? Vandaar dat ik gevraagd had of het mogelijk was om de nodige berekeningen via
VBA te kunnen laten uitvoeren.

Los daarvan (en ook weer niet) : ik herinner me dat één van je argumenten was om de controle over één en ander te behouden, maar ook al zouden we alles met vba doen, die controle zal toch altijd behouden blijven via je invoerformulier.

We moeten het in elk geval nog eens hebben over de wisselwerking tussen deze werkbladen en werkblad "Boeken", én met de relatie met je invoerformulier, maar first things first.

Nu, mocht je inmiddels de indruk krijgen dat er vooral veel overleg wordt gepleegd en er weinig resultaat te zien is, dan snap ik dat volkomen.
Daarom : ten laatste vandaag (lees : 'behoudens overmacht') zal ik al eens een bestandje bezorgen waarin datgene verwerkt is waarover geen twijfel meer moet bestaan. Dat betekent dat je al uitgebreid zal kunnen testen, en liefst ook proberen of je het 'kapot' kan krijgen, d.w.z. binnen het correct gebruik (anders krijg je alles kapot natuurlijk...)
Dat betekent ook dat het nog volkomen zinloos zal zijn om er al echte gegevens in te stoppen met de bedoeling ze te behouden.

Groetjes,
pitufo
"De computer doet wel degelijk wat je hem vraagt,
 maar NIET wat je DENKT dat je hem vraagt"

Offline BlackDevil

  • Ambassadeur
  • *****
  • Berichten: 1.029
  • Geslacht: Vrouw
  • veni vidi vici
Re: Excel-beperking mbt datum pré 1900 wegwerken met VBA
« Reactie #80 Gepost op: 26 december 2018, 17:01:25 »
Hey pitufo,

De formule die je inmiddels hebt samengesteld kan op die manier worden gebruikt, al zou ik dan eerder het zoeken in dezelfde tabellen laten gebeuren (je zoekt nu zowel in IdxGeb als in IdxPers, wat in andere gevallen eventueel juist wél aangewezen kan zijn).

De reden waarom ik hier (in deze cel) zowel in IdxGeb als in IdxPers zoek is omdat de resultaten uit beide tabellen gehaald moeten worden.
Zo dien ik in een andere cel met mijn formule te zoeken in zowel IdxOvl als in IdxPers en in nog een andere cel in zowel IdxBkn en IdxPers.
En de gegevens in die cellen mogen enkel vermeld worden als er voor dat specifieke boek in de tabel 'Boeken' een paginanummer vermeld staat.
Als er geen paginanummer vermeld is mogen deze gegevens niet in deze tabel (Idxlst_bk**) opgenomen worden omdat de gegevens in deze
tabel onmiddellijk dienst zullen doen als mijn 'Index namenlijst' in mijn boek(en) zodat ik deze gegevens maar één keer moet ingeven.

Tot daar de theorie, want heb je het hier niet over de werkbladen "Idxlst_bk**" ?
En komt dit dan niet terug op de helling te staan ?
Met de formules in "Personenfiche" kan ik leven, maar op de andere werkbladen zou ik resoluut alle formules elimineren !
Dat was toch uiteindelijk de bedoeling dacht ik? Vandaar dat ik gevraagd had of het mogelijk was om de nodige berekeningen via
VBA te kunnen laten uitvoeren.

Het is sowieso de bedoeling om de formules in het werkblad '_Leeftijdsberekeningen' door VBA te laten overnemen.
De formules in de werkbladen 'Idxlst_bk**' dacht ik eventueel nog via excel zelf te laten gebeuren omdat van deze werkbladen
geen exact gekend aantal kan gegeven worden enerzijds en de formules in elk werkblad veranderen.
En ik (eens er gevoelige gegevens opgenomen zijn) aan niemand anders meer kan vragen om de VBA-code dusdanig aan te passen
telkens er een nieuw werkblad bijkomt en dit zelf niet zomaar snel eventjes in VBA kan aanpassen wegens mijn gebrek aan kennis van VBA.

Los daarvan (en ook weer niet) : ik herinner me dat één van je argumenten was om de controle over één en ander te behouden, maar ook al zouden we alles met vba doen, die controle zal toch altijd behouden blijven via je invoerformulier.
Die controle misschien wel maar het 'werken' met de tabellen zal niet via het invoerformulier behouden blijven.
Ik ga regelmatig de gegevens in hun totaliteit moeten kunnen bekijken, sorteren met diverse parameters, enz...
Ik kan nu nog niet met 100% zekerheid zeggen wat ik allemaal nog ga moeten kunnen doen met de tabellen
en ik wil dus voldoende 'controle' houden in die zin dat ik wil voorkomen dat ik eens iets zal moeten doen in of
met de tabellen dat niet voorzien was en het dan niet zal kunnen omdat de VBA-code daarop niet voorzien is.
Is nogal moeilijk uit te leggen eigenlijk wat ik juist wil bedoelen.


Nu, mocht je inmiddels de indruk krijgen dat er vooral veel overleg wordt gepleegd en er weinig resultaat te zien is, dan snap ik dat volkomen.
Daarom : ten laatste vandaag (lees : 'behoudens overmacht') zal ik al eens een bestandje bezorgen waarin datgene verwerkt is waarover geen twijfel meer moet bestaan. Dat betekent dat je al uitgebreid zal kunnen testen, en liefst ook proberen of je het 'kapot' kan krijgen, d.w.z. binnen het correct gebruik (anders krijg je alles kapot natuurlijk...)
Dat betekent ook dat het nog volkomen zinloos zal zijn om er al echte gegevens in te stoppen met de bedoeling ze te behouden.
Ja, uitgebreid overleg is nodig om misverstanden te vermijden hé.
Zoals ik in een eerdere post al eens vermeld had, hoe meer jij weet hoe beter je kan begrijpen hoe het uiteindelijk zal moeten werken
en hoe beter jij dan zal kunnen coderen hé. ;)

vriendelijke en dankbare groetjes,
BlackDevil
1) HP ProDesk (Windows 10 Pro Edu / Intel(R) Core(TM) i5-7500 CPU@ 3.40Ghz 3.41Ghz)
2) Laptop ASUS (Windows 10 Home / Intel(R) Core(TM) i3-3110M CPU@ 2.40GHz 2.40GHz)
Beide (RAM : 8,00 GB / 64-bits besturingssysteem, x64-processor)
Extern (Seagate Backup+ Hub 6TB / Seagate BUP Slim 2TB / Seagate Expansion Desk 5TB / HP ENVY 6030e)
Bullguard Premium Protection / Office Pro Plus 2016 NL

Offline pitufo

  • Ambassadeur
  • *****
  • Berichten: 1.343
  • Geslacht: Man
Re: Excel-beperking mbt datum pré 1900 wegwerken met VBA
« Reactie #81 Gepost op: 26 december 2018, 18:40:58 »
Hoi BlackDevil,

Zoals beloofd : hierbij een testversie (1.0)

Uiteenzetten wat allemaal kan en niet kan zou heel ver leiden. En op deze manier valt er één en ander te ontdekken. Trouwens, ik heb bij de vba-code heel wat commentaar geplaatst (altijd nuttig om te leren begrijpen én nog meer om indien nodig later aan te passen).

Wat ik wel nog wil meegeven : ik denk dat je toch, althans tot op zekere hoogte, zal moeten leren dat het vaak ook een of/of-kwestie is. Ik bedoel : als je met een formulier wil werken (toch één van de essentiële zaken uit je vraag), dan moet je voor een aantal bewerkingen afstand leren doen van het handmatig werken in de gegevenstabellen.
De positieve noot daarbij is dat je, toen je overal met formules werkte, zelfs NOG voorzichtiger moest zijn.

Ik heb de code zo leesbaar mogelijk gehouden. Dat impliceert dat je op de gegevenswerkbladen geen kolommen mag tussenvoegen of verwijderen en ook geen rijen mag tussenvoegen. Rijen verwijderen eventueel wel, maar dan met de grootste omzichtigheid, dus op ALLE werkbladen zonder tussendoor iets via het formulier te doen ! (Maar ik zou het zelf nooit doen)
Elk persoon zal dus altijd op elk van die werkbladen moeten voorkomen.

Het grote verschil met formules ? Je vermeldde dat je soms een werkblad op een andere kolom moet sorteren. Met je formules moest je die daarna terug goed zetten. Welnu, met de vba zoals die nu geschreven is hoeft dat niet (maar het mag...)

Voor een project als dit is rustig opbouwen echt wel de boodschap. Maak je dus geen zorgen over het kleine aantal werkbladen.

Veel testplezier !

Groetjes,
pitufo
"De computer doet wel degelijk wat je hem vraagt,
 maar NIET wat je DENKT dat je hem vraagt"

Offline BlackDevil

  • Ambassadeur
  • *****
  • Berichten: 1.029
  • Geslacht: Vrouw
  • veni vidi vici
Re: Excel-beperking mbt datum pré 1900 wegwerken met VBA
« Reactie #82 Gepost op: 27 december 2018, 10:05:47 »
Hey pitufo,

Dat ziet er op het eerste zicht 'ok' uit.
Ik heb het nog niet echt uitgebreid kunnen testen omdat mijn kinderen vandaag speciaal een dagje terug
gekomen zijn van hun verblijf bij hun vader omdat het mijn verjaardag is dus ga ik vandaag mijn tijd kwalitatief
met hen doorbrengen ipv aan men laptop te zitten :).

Vanavond zal ik meer tijd hebben en ten laatste morgen zal ik laten weten of ik iets gevonden heb dat dient aangepast te worden.

vriendelijke en dankbare groetjes,
BlackDevil
1) HP ProDesk (Windows 10 Pro Edu / Intel(R) Core(TM) i5-7500 CPU@ 3.40Ghz 3.41Ghz)
2) Laptop ASUS (Windows 10 Home / Intel(R) Core(TM) i3-3110M CPU@ 2.40GHz 2.40GHz)
Beide (RAM : 8,00 GB / 64-bits besturingssysteem, x64-processor)
Extern (Seagate Backup+ Hub 6TB / Seagate BUP Slim 2TB / Seagate Expansion Desk 5TB / HP ENVY 6030e)
Bullguard Premium Protection / Office Pro Plus 2016 NL

Offline pitufo

  • Ambassadeur
  • *****
  • Berichten: 1.343
  • Geslacht: Man
Re: Excel-beperking mbt datum pré 1900 wegwerken met VBA
« Reactie #83 Gepost op: 27 december 2018, 14:05:06 »
 :) GELUKKIGE VERJAARDAG  :)
"De computer doet wel degelijk wat je hem vraagt,
 maar NIET wat je DENKT dat je hem vraagt"

Offline SoftAid

  • Administrator
  • Ambassadeur
  • *****
  • Berichten: 20.127
  • Geslacht: Man
  • Nobody is perfect, not even me...
Re: Excel-beperking mbt datum pré 1900 wegwerken met VBA
« Reactie #84 Gepost op: 27 december 2018, 15:37:35 »
:) GELUKKIGE VERJAARDAG  :)

Ook van mij een dikke proficiat  :) :) :)

:) 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 BlackDevil

  • Ambassadeur
  • *****
  • Berichten: 1.029
  • Geslacht: Vrouw
  • veni vidi vici
Re: Excel-beperking mbt datum pré 1900 wegwerken met VBA
« Reactie #85 Gepost op: 27 december 2018, 17:46:38 »
@pitufo en @SoftAid,

Hartelijk dank voor de gelukwensen  ;)


groetjes,
BlackDevil
1) HP ProDesk (Windows 10 Pro Edu / Intel(R) Core(TM) i5-7500 CPU@ 3.40Ghz 3.41Ghz)
2) Laptop ASUS (Windows 10 Home / Intel(R) Core(TM) i3-3110M CPU@ 2.40GHz 2.40GHz)
Beide (RAM : 8,00 GB / 64-bits besturingssysteem, x64-processor)
Extern (Seagate Backup+ Hub 6TB / Seagate BUP Slim 2TB / Seagate Expansion Desk 5TB / HP ENVY 6030e)
Bullguard Premium Protection / Office Pro Plus 2016 NL

Offline BlackDevil

  • Ambassadeur
  • *****
  • Berichten: 1.029
  • Geslacht: Vrouw
  • veni vidi vici
Re: Excel-beperking mbt datum pré 1900 wegwerken met VBA
« Reactie #86 Gepost op: 28 december 2018, 20:38:18 »
@pitufo,

Mijn excuses voor de vertraging maar hierbij, tijdens het uittesten van de eerste testversie, toch al enkele eerste kleine bemerkingen.
Sommigen zullen misschien vallen onder een volgende stap die je nog niet had toegepast maar ik vermeld toch maar eventjes alle
ondervindingen zodat ik zeker naderhand niets zou vergeten zijn :).

1) Het eerste wat mij opviel was dat je, tussen het echte 'startscherm' en het definitieve 'invulformulier', een apart schermpje hebt
toegevoegd voor het ingeven van het nieuwe of bestaande "InternID-nr".
Indien mogelijk zou ik graag dit 'tussenscherm' eruit willen laten en die invoering van het "InternID-nr" rechtstreeks in het definitieve
'invulformulier' willen ingeven.
Het extra schermpje zorgt namelijk voor een extra (overbodige) handeling die, als je tientallen personen moet ingeven, niet alleen als
storend ervaren word maar uiteindelijk ook extra tijd in beslag neemt.

Wat ik graag zou willen, indien mogelijk, is zodra ik in het echte 'startscherm' mijn keuze heb gemaakt, onmiddellijk mijn leeg invulformulier te zien krijg.
Wanneer ik als keuze 'nieuw' heb genomen dan dient het "InternID-nr" automatisch één cijfer hoger te zijn dan het laatst opgenomen record.
Als ik alle gegevens voor het nieuwe record heb ingevuld wens ik de keuze (er zal dan een cmd-knop moeten toegevoegd worden) tussen
"opslaan" of "opslaan & sluiten" te hebben.
Als ik dan meerdere personen op hetzelfde moment wens toe te voegen dat ik gewoon op "opslaan" klik en het formulier opnieuw blanco
is voor de volgende invoer en wanneer ik iedereen heb toegevoegd die ik op dat moment wens toe te voegen ik het formulier dan kan
sluiten door gewoon op "opslaan & sluiten" te klikken.

2) Het volgende wat mij opviel was dat er een "messagebox" te voorschijn kwam toen ik geen "SOSA-nr" had ingevuld met de melding
"Minstens SOSA-nr, Naam, Voornaam en geboortdatum moeten ingevuld zijn.".
Niet elke persoon die ik ga toevoegen gaat over een "SOSA-nr" beschikken dus die beperking moet er sowieso uit.
Ook Voornaam en geboortedatum zijn niet altijd gekend dus ook die beperkingen moeten er uit.
Bij Voornaam kan eventueel "ongekend" ingevuld worden maar "geboortedatum" mag zeker geen verplichte invoer zijn.
Hier zou ik de "verplichte" velden willen beperken tot het "Geslacht" en de "Naam".

3) Aangezien het een eerste testversie is vermoed ik dat het onderdeel dat ik nu ga aanhalen nog niet aan de orde was maar ik vermeld toch
maar al op voorhand hoe ik het graag zou zien.
De keuzemenu's bij "Beroep", "Naam" en "Plaats" dienen automatisch aangevuld te worden wanneer een nieuw wordt ingevoerd én opgeslagen.
Maw, elk nieuw beroep, naam of plaats die word ingegeven dient automatisch aan de itemlijst van dat keuzemenu toegevoegd te worden zodat
ik bij de invoer van het volgende record waarbij opnieuw dit beroep, naam of plaats dient ingegeven te worden dit gewoon uit de lijst kan kiezen.

4) Wat ik verder nog opgemerkt heb is het volgende :
Wanneer ik de gegevens van een nog levende persoon ingeef en na het opslaan van het record ga kijken in de tabel "Overlijdens" dan
staat er bij "B/C" een vraagteken. Dit dient leeg te blijven indien er in het invulformulier geen keuze word gemaakt.
"B/C" staat voor 'begraven' of 'crematie'. Zelfs bij wél overleden personen is het niet altijd geweten of deze persoon werd begraven of gecremeerd.


Dit is zowat hetgene wat ik tot hiertoe heb opgemerkt. Indien ik nog iets zou opmerken dan laat ik het hier uiteraard weten.
Ik hoop dat ik in bovenstaande bemerkingen niet té 'veeleisend' ben geweest :).

vriendelijke en dankbare groetjes,
BlackDevil
1) HP ProDesk (Windows 10 Pro Edu / Intel(R) Core(TM) i5-7500 CPU@ 3.40Ghz 3.41Ghz)
2) Laptop ASUS (Windows 10 Home / Intel(R) Core(TM) i3-3110M CPU@ 2.40GHz 2.40GHz)
Beide (RAM : 8,00 GB / 64-bits besturingssysteem, x64-processor)
Extern (Seagate Backup+ Hub 6TB / Seagate BUP Slim 2TB / Seagate Expansion Desk 5TB / HP ENVY 6030e)
Bullguard Premium Protection / Office Pro Plus 2016 NL

Offline BlackDevil

  • Ambassadeur
  • *****
  • Berichten: 1.029
  • Geslacht: Vrouw
  • veni vidi vici
Re: Excel-beperking mbt datum pré 1900 wegwerken met VBA
« Reactie #87 Gepost op: 28 december 2018, 22:32:45 »
Hellokes pitufo,

Ik heb me eraan gewaagd om enkele van de gevraagde wijzigingen in jouw testversie zelf proberen aan te passen en
enkele zijn me reeds zeer goed gelukt (denk ik dan toch  :) ).
Ik heb de 'verplichte' velden gedeeltelijk kunnen aanpassen, ook heb ik het automatisch vermelde '?', wanneer de keuze B/C blanco
blijft, kunnen aanpassen naar een blanco cel in het werkblad "Overlijdens", ook de waarden "0", wanneer er niets word ingevuld, in de cellen 'SOSA-nr' en 'Aant_Kind' heb ik kunnen aanpassen naar een blanco cel, ...

Ik hang het er eventjes bij. Wil jij eens nagaan of ik mijn 'huiswerk' goed gemaakt heb? ;D

vriendelijke en dankbare groetjes,
BlackDevil


1) HP ProDesk (Windows 10 Pro Edu / Intel(R) Core(TM) i5-7500 CPU@ 3.40Ghz 3.41Ghz)
2) Laptop ASUS (Windows 10 Home / Intel(R) Core(TM) i3-3110M CPU@ 2.40GHz 2.40GHz)
Beide (RAM : 8,00 GB / 64-bits besturingssysteem, x64-processor)
Extern (Seagate Backup+ Hub 6TB / Seagate BUP Slim 2TB / Seagate Expansion Desk 5TB / HP ENVY 6030e)
Bullguard Premium Protection / Office Pro Plus 2016 NL

Offline pitufo

  • Ambassadeur
  • *****
  • Berichten: 1.343
  • Geslacht: Man
Re: Excel-beperking mbt datum pré 1900 wegwerken met VBA
« Reactie #88 Gepost op: 29 december 2018, 18:07:02 »
Hey BlackDevil,

Ik hang het er eventjes bij. Wil jij eens nagaan of ik mijn 'huiswerk' goed gemaakt heb?

Alles wat je hebt aangepast is helemaal goed, maar heb je daarna nog getest ? Want stel dat je iemand ingeeft zonder geboortedatum dan kreeg je nog een foutmelding. Ondertussen had ik zelf ook niet stilgezeten, dus ik heb jouw aanpassingen in mijn recentste versie opgenomen en de controle op geboortedatum aangepast.
En daarmee zijn meteen punten 2 en 4 uit je voorlaatste post opgelost (met dien verstande dat je toen ook aan de mogelijkheid dacht om van Voornaam géén verplicht veld te maken).
Punt 3 stond (en staat) nog op mijn 'to do'-lijstje.

Blijft... de moeilijkste : het feit dat je de inputboxen als ergerlijk ervaart. Ik dacht zo : elke persoon die moet ingevoerd worden vergt heel wat muiskliks en toetsaanslagen. Wat maakt dan één extra muisklik uit als we daarmee de bescherming van je gegevens aanzienlijk kunnen verhogen... Ik heb het dan niet over privacy of over beveiliging van werkbladen, maar over de mogelijkheid van één moment verstrooidheid tijdens het invoeren. Ik zou het daarom onverantwoord vinden de mogelijkheid te voorzien om InternID op je formulier te wijzigen; het was dus geenszins voor de show dat ik daar een label van gemaakt had.

Ik ben je, binnen de perken van die bescherming, in mijn tweede ontwerp zo ver mogelijk tegemoet gekomen :
Je hebt nog 2 knoppen op je startblad. Via 'Persoon toevoegen' wordt nu onmiddellijk het formulier getoond met een nieuw InternID_nr. De knoppen 'Opslaan' en 'Opslaan en sluiten' doen vervolgens precies wat je vroeg.
Met de knop 'Persoon selecteren' kom je in een nieuw formulier terecht waarin je met een maximum aan flexibiliteit een bestaand persoon kan vinden en selecteren. Als in de formulierlijst slechts één persoon overblijft staat die automatisch geselecteerd.
Van daaruit kan je kiezen voor 'Bewerken' wat je rechtstreeks naar het formulier brengt. In dat geval keer je zowel met 'Opslaan' als met 'Opslaan en sluiten' terug naar het vorige formulier.

Ik weet niet hoe jij het in gedachten hebt om de juiste personenfiche op te roepen (mbv het SOSA_nr)
maar aangezien die oproeping een keuze van de gebruiker is (en moet blijven) zie ik niet goed hoe dit anders dan handmatig
kan ingegeven worden. 
Maar aangezien ik héél graag wil bijleren, als dit toch op een andere manier kan, dan hoor ik het natuurlijk wel graag. ;)

Haha, wel, je hebt op dat zoekformulier ook een knop staan die je meteen naar 'Personenfiche' brengt (ALS er een Sosa-nummer voor de gekozen persoon bestaat).

De Personenfiche blijft op uitdrukkelijk verzoek gebruik maken van formules. Je kan ze ook nog steeds handmatig gebruiken. Het Sosa-nummer wordt rechtstreeks ingevuld in N7 (uiteraard zonder voorloopnullen). Rij 5 is nu leeg. De vroegere hulpcel N5 is verhuisd naar rij 1 waar ondertussen nog 2 andere hulpcellen staan. Vermits je rijen 1 t/m 4 toch al standaard verborgen waren staan die daar m.i. goed (je moet daar nooit zelf heen).

Nu maar afwachten of deze werkwijze beter bevalt...

Tussendoor heb ik me nog even gebogen over de ddif-functie. Vermits die nog fouten kon geven voor de geskipte dagen in 1583 (bv. "1 m -10 d") heb ik ze maar meteen herschreven. Ze is wat korter, leesbaarder en zelfs sneller geworden (al heb ik wel dankbaar gebruik gemaakt van een gedeelte van de redenering van lommer)
Ze is nog niet verwerkt in de nieuwe versie, maar ik stuur alvast het vorige vergelijkingsbestandje mee, aangevuld met 2 kolommen : zowel de nieuwe functie als één die het resultaat aftoetst aan ddif.

Groetjes,
pitufo
"De computer doet wel degelijk wat je hem vraagt,
 maar NIET wat je DENKT dat je hem vraagt"

Offline BlackDevil

  • Ambassadeur
  • *****
  • Berichten: 1.029
  • Geslacht: Vrouw
  • veni vidi vici
Re: Excel-beperking mbt datum pré 1900 wegwerken met VBA
« Reactie #89 Gepost op: 29 december 2018, 21:04:15 »
Hey pitufo,

Hartelijk dank voor de respons en de aanpassingen...

Nu het is niet zozeer dat ik de inputboxen als ergerlijk ervaarde maar soms moet ik zo'n 20 à 30 personen aan de lopende band toevoegen en in de eerste versie zou ik dan telkens opnieuw eerst op 'nieuw' moeten klikken en dan vervolgens het nieuwe automatische toegewezen InternID-nr nog eens via een tussenscherm gaan bevestigen alvorens ik het invoerformulier kreeg. Als je maar één persoon moet toevoegen dan stoort dat niet maar wel als je zoals in mijn geval soms tientallen personen achtereenvolgens moet toevoegen. Dan werkt het vlotter als het invoerformulier gewoon reset nadat je op opslaan hebt geklikt.

Maar dat heb je dus aangepast in je 2e versie wat dus zalig werkt bij het invoeren van nieuwe personen én de wijze dat je het nu aangepakt hebt voor het 'bewerken' van bestaande records met de optie naar de personenfiche is gewoon perfect.


Inzake mijn aanpassingen mbt de verplichte velden had ik idd nog getest en ook die foutmelding inzake ongeldige geboortedatum eruit gehaald.
Het enige wat nog moest aangepast worden was dat de verplichte velden enkel "naam" en "geslacht" mogen zijn.
Maar omdat "geslacht" een keuze met 3 mogelijkheden betreft wist ik niet hoe ik dat dan moest gaan aanpassen in de code
vandaar dat het veld "voornaam" er momenteel nog in staat.


Punt 4 uit mijn vorige bericht is inderdaad opgelost wat betreft de invoer bij een nieuwe persoon maar zodra men datzelfde record
opent voor bewerken en het dan opslaat dan ontstaat het probleem opnieuw. Dan staat automatisch het '?' standaard geselecteerd.


Ik ga nu, ter grondige controle, eens enkele echte personen ingeven om te kijken of alles correct wordt weergegeven.


Betreft de invoer van de datums zijn er ook wel nog enkele 'voorwaarden' die in de code moeten opgenomen worden ter voorkoming
van foutieve input. Zoals bvb dat tussen geboortedatum en 1e huwelijksdatum minstens 16 jaar moet zitten.
En zoals bvb dat overlijdensdatum na de geboortedatum moet vallen en vóór de B/C-datum moet liggen... en dergelijke...


Het bestand inzake de ddif moet ik nog nakijken.


vriendelijke en dankbare groetjes,
BlackDevil
1) HP ProDesk (Windows 10 Pro Edu / Intel(R) Core(TM) i5-7500 CPU@ 3.40Ghz 3.41Ghz)
2) Laptop ASUS (Windows 10 Home / Intel(R) Core(TM) i3-3110M CPU@ 2.40GHz 2.40GHz)
Beide (RAM : 8,00 GB / 64-bits besturingssysteem, x64-processor)
Extern (Seagate Backup+ Hub 6TB / Seagate BUP Slim 2TB / Seagate Expansion Desk 5TB / HP ENVY 6030e)
Bullguard Premium Protection / Office Pro Plus 2016 NL

 


www.combell.com