Geldnerd.nl

Blog over (financieel) bewust leven

Tag: snel

Instant einde aan een ergernis

Het was ook niet meer van deze tijd. Geld overboeken in Europa, zelfs binnen Nederland, tussen twee banken. Soms was het er dezelfde dag, maar meestal stond het pas de volgende werkdag op de rekening van de begunstigde. En dat eigenlijk alleen van maandag tot en met vrijdag tijdens kantooruren, en niet in het weekend of op alle Europese feestdagen niet.

Soms was het nog erger. Geldnerd werkt veel met automatische boekingen, die staan voorgeprogrammeerd om uitgevoerd te worden zodra mijn salaris binnenkomt. Drie daarvan gaan naar dezelfde rekening: bijdrage aan de gezamenlijke huishouding, de reguliere aflossing op de hypotheek en de extra aflossing op de hypotheek. Dat zijn drie afzonderlijke boekingen zodat ze makkelijker automatisch verwerkt kunnen worden in mijn administratie. Ze worden in één reeks op hetzelfde moment afgeschreven van mijn privé-rekening, maar ze worden soms met uren verschil bijgeschreven op de gezamenlijke bankrekening van Geldnerd en Vriendin bij die andere grootbank. Daar kon ik me soms echt aan ergeren.

Maar het einde van deze Middeleeuwse situatie is in zicht. Tom schreef er onlangs al over, en kort daarna werd het ook bevestigd door de banken zelf. Ook Stoppen Voor Mijn Vijftigste heeft er eerder al over geschreven. Vanaf deze zomer kunnen we 24 uur per dag en 7 dagen per week direct geld overmaken tussen zeven banken. Hoera! Eindelijk maakt het Nederlandse betalingssysteem een stapje naar de 21e eeuw. We zijn verwend, we willen meteen resultaat tegenwoordig. Geldnerd is oud genoeg om vroeger zelf nog overboekingsformulieren en acceptgiro’s ingevuld te hebben, en die in de brievenbus van het bankkantoor te doen. En om alleen te weten hoe je er financieel voor stond als (twee)wekelijks het papieren bankafschrift in de brievenbus viel. We komen van ver.

Ik heb het idee dat de banken het nieuwe systeem in het weekend aan het testen zijn. Enkele weken geleden ging bij mij een boeking in het weekend van RABO naar ABN ook razendsnel, maar door de week gingen mijn reguliere boekingen weer een stuk langzamer. Maar het komt eraan, hoera! Ik verwacht dat de banken zichzelf in de media nog wel op de borst gaan kloppen als het echt ‘live’ gaat.

En binnenkort dus ‘instant’. Voor de meeste mensen wordt het nóg makkelijker om hun geld uit te geven. Maar voor mij werkt het maar gedeeltelijk. Mijn beleggingsrekening en mijn bufferspaarrekening zitten bij kleinere financiële instellingen, die (voorlopig?) nog niet aangesloten zijn op dit nieuwe, snelle betalingssysteem. Daar moet ik dus nog gewoon een aantal uren of zelfs dag(en) wachten voordat ik het geld zie bewegen.

Hoe snel maak jij geld over?

error

Tussendoor-spreadsheet-klooi-blogje

Het was weer eens zover. Eens in de zoveel tijd erger ik me aan mijn beleggingsspreadsheet. Dan duren de verwerkingen van mijn weekrapportjes weer te lang, of doet ‘ie er weer te lang naar mijn zin over om mijn rapportages te laten zien op het scherm. En je kunt wel ieder half jaar een nieuwe laptop met snellere processor en nog meer geheugen kopen, maar dat lost het vaak ook niet op.

Dus eens in de zoveel tijd ga ik weer op zoek naar manieren om mijn macro-code te optimaliseren. Zo ook vandaag.

Allereerst ben ik ervoor gaan zorgen dat de belangrijkste macro’s ongestoord kunnen draaien. Dat zijn de macro’s voor het Importeren en Verwerken van de wekelijkse koersrapporten, voor het bijwerken van mijn Rapportages (voor de liefhebbers: Pivot-tabel) en voor het bijwerken van de Grafieken. Mijn spreadsheet zit vol met functies die zichzelf bijwerken als er iets verandert. En dat vertraagt natuurlijk enorm als ze dat ook doen tijdens de bovengenoemde verwerkingen. Goede tips vond ik hier en met name ook hier.  Die laatste oplossing heb ik vrijwel één-op-één overgenomen.

Aan het begin van mijn code heb ik dus drie variabelen toegevoegd die voor mijn hele spreadsheet gelden.

Public CalcState As Long
Public EventState As Boolean
Public PageBreakState As Boolean

Verder heb ik de twee subroutines toegevoegd:

Sub OptimaliseerCode_Begin()

Application.ScreenUpdating = False
EventState = Application.EnableEvents
Application.EnableEvents = False
CalcState = Application.Calculation
Application.Calculation = xlCalculationManual
PageBreakState = ActiveSheet.DisplayPageBreaks
ActiveSheet.DisplayPageBreaks = False

End Sub

En aan het eind moet je dat natuurlijk weer ongedaan maken.

Sub OptimaliseerCode_End()

ActiveSheet.DisplayPageBreaks = PageBreakState
Application.Calculation = CalcState
Application.EnableEvents = EventState
Application.ScreenUpdating = True

End Sub

Vervolgens moet ik die code natuurlijk aanroepen in mijn eigen macro’s. Dat doe ik op de volgende manier in elk macro en elke functie die van toepassing is:

'Optimaliseer Code
Call OptimaliseerCode_Begin

'Hier staat dan mijn eigen code... 

'Optimaliseer Code 
Call OptimaliseerCode_End

En kijk mij eens een mooie plugin hebben om die code professioneel te publiceren! In de eerste test werden de macro’s voor importeren en verwerken ongeveer vier keer zo snel door deze ingreep. En ook bij het actualiseren van mijn weekrapportage en mijn grafieken was er een behoorlijke sneheidswinst. De nerd in mij is weer dolgelukkig.

Ik ga nog even apart kijken naar de code voor de Pivot. En voor de import overweeg ik om te schakelen van ‘veld voor veld inlezen’ naar ‘in één keer inlezen in een array, en in één keer wegschrijven in een sheet’. Ik lees op diverse plekken dat dat ook veel snelheidswinst op kan leveren. Maar dat is een wat ingrijpender operatie, daar kom ik nog wel op terug.

Ben ik weer te nerdy?

error

© 2019 Geldnerd.nl

Theme by Anders NorenUp ↑