Help!

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

Hulp bij posten

Recente topics

Auteur Topic: Automatisch invullen van waarden  (gelezen 13104 keer)

0 leden en 2 gasten bekijken dit topic.

Offline pitufo

  • Ambassadeur
  • *****
  • Berichten: 1.343
  • Geslacht: Man
Re: Automatisch invullen van waarden
« Reactie #75 Gepost op: 28 januari 2021, 09:55:25 »
Dag Arnold,

't Moet zijn dat ik gisteren een beetje overwerkt was...
Hoewel met de werkwijze van je validatie-macro je in principe nooit fouten zal krijgen meld ik toch liever dat er in mijn toevoegsel een foutje zat.
De eerste regel daarvan hoort eigenlijk te zijn:If Target.Address = "$M$3" ThenWaarom me dat nu, terwijl ik met iets totaal anders bezig ben, plotseling te binnen schoot? Geen idee  :D :D :D

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

Offline Montagnard

  • Ambassadeur
  • *****
  • Berichten: 2.385
  • Geslacht: Man
Re: Automatisch invullen van waarden
« Reactie #76 Gepost op: 28 januari 2021, 11:26:31 »
Dag,
aanpassing doorgevoerd ! waarvoor dank...
ik ,ga nu proberen de maandelijkse terugkerende vaste kosten op datum automatisch te laten invullen , wél met te bevestigen  via msgbox (Yes/No)......
Mvg,
Arnold.

Offline Montagnard

  • Ambassadeur
  • *****
  • Berichten: 2.385
  • Geslacht: Man
Re: Automatisch invullen van waarden
« Reactie #77 Gepost op: 29 januari 2021, 15:43:52 »
Dag,
heb hieronder mijn vraag opnieuw gesteld...anders wordt mijn reactie niet als nieuwe gezien...
Mvg,
Arnold.

Offline Montagnard

  • Ambassadeur
  • *****
  • Berichten: 2.385
  • Geslacht: Man
Re: Automatisch invullen van waarden
« Reactie #78 Gepost op: 31 januari 2021, 11:52:28 »
Dag,

ik kom iets eigenaardigs tegen in mijn code , dit is code om wederkerende verhandelingen automatisch aan te bieden bij het opstarten van het Excel bestand.
als ik in de onderstaande code de controle op de dag ( if dag = 31 then enz) niet laat oplopen in volgorde dan gebeuren er rare dingen :
1) als ze elkaar opvolgen geen probleem
2) als ik eerst start met een hogere dag ( ik gebruik hier 31 als dag omdat ik wou controleren of mijn code werkt , dan vraagt de code wél om de juiste gegevens in te vullen MAAR vult de gegevens van de laatste "if then enz" in , namelijk in mijn geval hier de gegevens van "Engie" ???
het is niet onoverkomelijk , ik plaats de controle op de dag in oplopende volgorde , maar ik had graag geweten WAAROM mijn code in de fout gaat als de dagen NIET in volgorde staan ?

Mvg,
Arnold.

Private Sub Workbook_Open()
Rem stel datum in in cel O3 en haal er de dag uit
Cells(3, 15).Value = Date
Dag = Day(Range("O3"))

Rem zijn we een bepaalde dag dan een weerkerende verhandeling uitvoeren
If Dag = 31 Then response = MsgBox("'Van Breda' invullen ?", vbYesNo, "Herhalende Verhandeling")
    If response = vbYes Then Cells(3, 4).Value = "Verzekeringen": Cells(3, 6).Value = "Van Breda": Cells(3, 13).Value = 50

If Dag = 1 Then response = MsgBox("'Ergo Investments' invullen ?", vbYesNo, "Herhalende Verhandeling")
    If response = vbYes Then Cells(3, 4).Value = "Verzekeringen": Cells(3, 6).Value = "Ergo Investments": Cells(3, 13).Value = 125

If Dag = 3 Then response = MsgBox("'AG Familis' invullen ?", vbYesNo, "Herhalende Verhandeling")
    If response = vbYes Then Cells(3, 4).Value = "Verzekeringen": Cells(3, 6).Value = "AG Familis": Cells(3, 13).Value = 75

If Dag = 6 Then response = MsgBox("'Eigen Haard' invullen ?", vbYesNo, "Herhalende Verhandeling")
    If response = vbYes Then Cells(3, 4).Value = "Facturen": Cells(3, 6).Value = "Eigen Haard": Cells(3, 13).Value =100

If Dag = 11 Then response = MsgBox("'Kankerfonds' invullen ?", vbYesNo, "Herhalende Verhandeling")
    If response = vbYes Then Cells(3, 4).Value = "Facturen": Cells(3, 6).Value = "Kankerfonds": Cells(3, 13).Value = 10

If Dag = 14 Then response = MsgBox("'FOD Pensioenen' invullen ?", vbYesNo, "Herhalende Verhandeling")
    If response = vbYes Then Cells(3, 4).Value = "Inkomsten": Cells(3, 6).Value = "FOD Pensioenen": Cells(3, 13).Value = 1000

If Dag = 21 Then response = MsgBox("'Telenet' invullen ?", vbYesNo, "Herhalende Verhandeling")
    If response = vbYes Then Cells(3, 4).Value = "Facturen": Cells(3, 6).Value = "Telenet": Cells(3, 13).Value = 75

If Dag = 26 Then response = MsgBox("'Mantelzorg' invullen ?", vbYesNo, "Herhalende Verhandeling")
    If response = vbYes Then Cells(3, 4).Value = "Inkomsten": Cells(3, 6).Value = "Mantelzorg": Cells(3, 13).Value = 50

If Dag = 28 Then response = MsgBox("'Engie' invullen ?", vbYesNo, "Herhalende Verhandeling")
    If response = vbYes Then Cells(3, 4).Value = "Facturen": Cells(3, 6).Value = "Engie": Cells(3, 13).Value = 100

End Sub

Offline SoftAid

  • Administrator
  • Ambassadeur
  • *****
  • Berichten: 20.179
  • Geslacht: Man
  • Nobody is perfect, not even me...
Re: Automatisch invullen van waarden
« Reactie #79 Gepost op: 31 januari 2021, 12:34:52 »
Een gokje:

je eerste MsgBox stelt de vraag, maar je laatste:
If response = vbYes Then Cells(3, 4).Value = "Facturen": Cells(3, 6).Value = "Engie": Cells(3, 13).Value = 100reageert als laatste op die eerste MsgBox
in welke volgorde je ze ook plaatst, bij de eerste vraag en vbYes zal hij steeds alle "vbYes Then ..." afgaan, maar pas stoppen bij de laatste.

Denk ik zonder te testen.

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

  • Administrator
  • Ambassadeur
  • *****
  • Berichten: 20.179
  • Geslacht: Man
  • Nobody is perfect, not even me...
Re: Automatisch invullen van waarden
« Reactie #80 Gepost op: 31 januari 2021, 12:48:13 »
Net even getest en ik had gelijk.

Voer de macro eens handmatig uit met tabblad Verhandelingen open, en dan zie je de bevestiging van wat ik zei.

Je mag de (dag 31) opdracht plaatsen waar je wil, je mag de andere opdrachten beneden als laatste If zetten, er zal steeds geantwoord worden met de laatste regel.

Een remedie zie ik evenwel niet zo op het eerste gezicht.
Elke If afsluiten met een End If zou het oplossen, maar je structuur zou dan een ElseIf vereisen voor de 2 de instructie in elke If - End If

Testen maar...  ;D

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

  • Administrator
  • Ambassadeur
  • *****
  • Berichten: 20.179
  • Geslacht: Man
  • Nobody is perfect, not even me...
Re: Automatisch invullen van waarden
« Reactie #81 Gepost op: 31 januari 2021, 13:00:56 »
dit lijkt me een oplossing:

toepassen voor elke "dag":

If Dag = 1 Then response = MsgBox("'Ergo Investments' invullen ?", vbYesNo, "Herhalende Verhandeling")
    If response = vbYes Then Cells(3, 4).Value =_  'Underscore mag je weghalen
   "Verzekeringen": Cells(3, 6).Value = "Ergo Investments": Cells(3, 13).Value = 98.27
ElseIf response = vbNo Then Exit Sub
End If

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

  • Ambassadeur
  • *****
  • Berichten: 2.385
  • Geslacht: Man
Re: Automatisch invullen van waarden
« Reactie #82 Gepost op: 31 januari 2021, 13:10:42 »
Dankjewel,  ik ga dit vanavond aanpassen....nu eerst Wereldkampioenschap veldrijden  :)

Offline SoftAid

  • Administrator
  • Ambassadeur
  • *****
  • Berichten: 20.179
  • Geslacht: Man
  • Nobody is perfect, not even me...
Re: Automatisch invullen van waarden
« Reactie #83 Gepost op: 31 januari 2021, 13:56:59 »
Hallo Arnold,

Kleine aanpassing gedaan, en getest, zie bestand in bijlage:

En doe een jas aan, het is koud buiten  (ook als je TV zit te kijken) ;D ;D ;D

Groeten,

:) SoftAid :)             

PS: altijd naar nieuwe regel gaan na "If ..[voorwaarde].. Then"
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 Montagnard

  • Ambassadeur
  • *****
  • Berichten: 2.385
  • Geslacht: Man
Re: Automatisch invullen van waarden
« Reactie #84 Gepost op: 31 januari 2021, 17:34:37 »
@ "SoftAid" , het werkt wel en het werkt niet... ;D

1) als ik het invoeren automatisch laat gebeuren ( zie reactie#73 en de mijne in 74 ) dan werkt het perfect........ maar omdat ik dan geen controle heb en het zo flitsend gebeurt dat ik niet kan volgen had ik het automatisch invullen uitgeschakeld en weer een knop ingevoerd , die groene.
2) maar als er nu 2 weerkerende verhandelingen zijn op één dag , dan werkt het niet meer zo omdat ik zelf moet bevestigen via de knop en dus uit de "Workbook" opstarten routine stap ?

dus dilemma : ofwel automatisch , ofwel geen 2 of meer weerkerende verhandelingen op dezelfde dag.

Mvg,
Arnold.

Offline SoftAid

  • Administrator
  • Ambassadeur
  • *****
  • Berichten: 20.179
  • Geslacht: Man
  • Nobody is perfect, not even me...
Re: Automatisch invullen van waarden
« Reactie #85 Gepost op: 31 januari 2021, 18:10:43 »
@ "SoftAid" , het werkt wel en het werkt niet... ;D
Da's dan 50%, nie slecht  ;D

maar als er nu 2 weerkerende verhandelingen zijn op één dag , dan werkt het niet meer zo omdat ik zelf moet bevestigen via de knop en dus uit de "Workbook" opstarten routine stap ?
[/quote]

Je kan uit de Sub Workbook_open() stappen als een "response = true" is, en naar de code van de Private Sub Commandbutton1_click() gaan, om na de uitvoering daarvan terug te keren naar sub workbook_open() waar je gebleven was. En zo de volgende "response = true" te vinden en uit te voeren, als die er is.

Zegt je dat iets, of wil je hulp? Na 22:30h ben ik niet meer bereikbaar, want er speelt mijn lievelingsfilm op Telenet, VTM4 namelijk "Lauwrence of Arabia", film duurt 3,5 uur !!! Super film met Peter O Tool en Omar Shariff. *****++ Waar gebeurd verhaal!
Zet het geluid al maar wat harder voor je kijkt, is echt subliem.

Groeten,

:) 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: Automatisch invullen van waarden
« Reactie #86 Gepost op: 31 januari 2021, 18:17:39 »
Hallo SoftAid en Arnold,

Wacht anders een moment, 'k zal er eens een andere (ik probeer meteen 'leesbare' - zal er commentaar bijzetten) draai aan geven.

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

Offline pitufo

  • Ambassadeur
  • *****
  • Berichten: 1.343
  • Geslacht: Man
Re: Automatisch invullen van waarden
« Reactie #87 Gepost op: 31 januari 2021, 18:50:42 »
En... KLAAR  0:-)
 
Misschien goed om weten (is uiteraard geen kritiek maar beetje bijkomende duiding, in de wetenschap dat jullie beiden blijvend willen bijleren): eigenlijk kon het met de originele aanpak van Arnold ook geregeld worden. Daarbij moest dan niet op VbNo worden gecheckt; bij de opeenvolgende acties die bij VbYes stonden telkens een Exit Sub toevoegen ging het ook oplossen.

Maar dan zat je wel nog vast aan het probleem van meer dan één herhalende verrichting op dezelfde dag.
Daarom deze andere aanpak. Ik vind dat al die mogelijkheden niet in vba moeten voorzien worden (dan zou je ook weer de code moeten herschrijven bij elke wijziging). Alle verrichtingen staan nu in een lijstje op een afzonderlijk tabblad; dat kan je naar hartelust aanpassen zonder je zorgen te moeten maken over de code.

Om zowel vanop het werkblad als bij Workbook_Open te kunnen werken staat de gemeenschappelijke procedure in een module.
En om deze niet te moeten veranderen worden de gegevens ook nog bovenaan Budget ingevuld (last zal je daar niet van hebben...)

Hopelijk bevalt dit zo een beetje. Maar laat het vooral weten als iets onverwachts aan de oppervlakte komt!

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

Offline SoftAid

  • Administrator
  • Ambassadeur
  • *****
  • Berichten: 20.179
  • Geslacht: Man
  • Nobody is perfect, not even me...
Re: Automatisch invullen van waarden
« Reactie #88 Gepost op: 31 januari 2021, 18:56:35 »
Hallo pitufo,

ik had hetzelfde idee, al je data in een data-sheet, maar ik probeerde in de denkwereld van Arnold verder te werken.
Hoe kan je iets leren als je vorige idee telkens worden vervangen door totaal nieuwe (en ik weet waarover ik spreek  ;D)

Maar goed, laat Arnold het even bekijken en zijn conclusies trekken.

Groeten,

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

  • Ambassadeur
  • *****
  • Berichten: 2.385
  • Geslacht: Man
Re: Automatisch invullen van waarden
« Reactie #89 Gepost op: 01 februari 2021, 11:16:22 »
Goedendag "SoftAid" en "Pitufo" , vooreerst bedankt om mij verder te willen helpen.
toen TS hier zijn vraag stelde had ik eerst iets van "wie wil dat nu doen via Excel" , er zijn genoeg gratis en betalende budget programma's.
gaandeweg ben ik begonnen met mij er in te interesseren , enerzijds omdat ik het uitdaging vind en ik mij altijd "jeun" voor mijn scherm , anderzijds als je zelf iets maakt dan kan je het ook volledig naar je hand zetten , wat in een bestaand programma niet kan.

wat "mijn" bestand nu betreft , ik dacht ook al wel dat mijn code voor die weerkerende verhandelingen makkelijker/beter kon , met een "lus" , maar ik ken niets van al die termen (zoals b.v. Ubound) , dus in veel gevallen heb ik gewoon de kennis niet om het zelf te doen.
met de nodige "rems" achter de code van Pitufo begrijp ik wel hoe het werkt , al die kleine code routines sla ik ook op met de nodige uitleg erbij voor mij , die kan ik dan terug gebruiken in een ander bestand.
ik ga nu eens uitkijken naar een goed VBA voor Excel boek.

toch nog een vraagje :
als ik in mijn vorig programma (Money Manager EX) een weerkerende verhandeling weigerde ( omdat ze nog niet werd uitgevoerd door mijn bank , b.v. de 1ste valt op een zaterdag ) dan kreeg ik de volgende keer dat ik het programma opende opnieuw die vraag , kan dat geïmplementeerd worden in mijn bestand ?

Mvg,
Arnold

 


www.combell.com