About Me

Anders Balari - alias Günther Lehner

Call me Anders. I am starting anywhere and improving from there since 1973.

When I was 8 years old, I got my first computer. It came without software, so the first thing I did with it was to learn programming.

In 2001 I graduated in Business Administration at the Karl-Franzens-Universität Graz in Austria. My majors were Accounting, Controlling and Finance Law.

While the main activity in my first post graduate job at Deloitte in Vienna was auditing financial statements, in parallel I began to create tools in Excel, with and without Visual Basic for Applications (“VBA”).

I instantaneously had a strong passion for doing this. Since then the work with Excel and Excel VBA has become more and more important, my skills and experience increased accordingly.

Today, while I still also do tools, I mostly conceive, design and develop professional applications with Excel VBA, custom tailored to the needs of the users.

Some (groups of) companies for which I created Excel VBA solutions

The Roots

That’s me, Anders in 197x, a couple of years before getting my first computer: a Commodore VC20, which came without software – so the first thing I did with it was learning how to program. In this image I might have had a precognition about this, enthusing me. Well, I am still easily enthused today.

When I heard the line “I wish I was like you, easily enthused” in Nirvanas song “All Apologies” for the first time, I was 20 years old.

This was in 1993 and I had forgotten about how enthused I had been roughly 12 years earlier about saving my first own computer program on an audio cassette, with a device called Datasette that was connected to the Commodore VC20 computer my father, which my father had given me on the same day.

Soon after that I started programming so called “trackers”, music sequencing programs and still today I compose music to a large extent by programming it, even though the “trackers” were replaced by Logic Pro X eventually.

In the early 2000s I rediscovered my passion for writing programs doing other things than playing back music: I started to write solutions with Excel VBA, for my own tasks I had to complete, first as an auditor, then as a financial controller, then as a chief accountant, then as a consultant for accounting processes etc. etc.

Making perhaps most of the errors on can make when using Excel VBA, my VBA.Flow() approach evolved in the past couple of years, heavily influenced by the sources mentioned in the next section as well as my laziness.

Yes, laziness: I had grown tired of starting from scratch and of not being in the position to reuse code I had created before easily. I had also grown tired of spending a lot of time and energy to understand my own code a couple of months later. And there were some other pains I had grown tired of as a VBA developer.

This not only drove the evolution of my way of working, which led to VBA.Flow(), it also made me create my first boilerplate and later framework solutions. My current framework for application development with Excel VBA is called “Flow Framework 2”, it can be used freely (as of now – non-commercial usage will always be free).

10 FOR I = 1 TO 7 
40 END

VBA.Flow() stands for my way of working

My way of working is significantly influenced by the “Clean Series” of books written by Robert C. “Uncle Bob” Martin, by the wonderful Excel VBA professional Paul Kelly and the book “Professional Excel Development” by Rob Bovey, Dennis Wallentin, Stephen Bullen and John Green. There are also many other influences, the naming of which would be far beyond the purpose and scope of this page.

I use automated testing and version control, both of which are rarely used by Excel VBA devs, but hugely useful. I created several frameworks for application development in Excel VBA, the most recent of which is called “Flow Framework 2”. 

For a much better development and testing experience I do use the wonderful VBE Add-Ins “MZ-Tools” and sometimes “Rubberduck”. For scaffolding based on UML class diagrams I create with the Mermaid online editor, I do use GPT-4, saving a lot of time for routine work.

Flow Framework 2 helps me to apply VBA.Flow()

My “Flow Framework 2” is heavily influenced by what could be called “DX Design”, i.e. “Developer Experience Design”. Its goal is to meet the “Don’t make me think” (about stuff I shouldn’t be required to think about) postulate of “UX Design”.

When you first see “Flow Framework 2”, there’s chance of you shouting “WHAT THE…!?”, because the first impression is that it would make you think a lot. This is also true for the second, the third and x further impressions, until you eventually will savvy how much easier your work becomes when using it. Especially, if you also use MZ Tools and its powerful text expander functionalities.

I am passionate about supporting other VBA devs

Some of my colleagues were the first persons who showed interest in working like I do and in using my framework.

My attempts of showing them in live sessions (in which I utterly suck) led to the idea of creating learning material for them. And this led to the idea of doing it in a way which also is accessible for other persons.

The result is this website you’re on and the name VBA.Flow() for my way of working with Excel VBA.

When started to see results that my colleagues produced with my approach and my framework, this felt very good. It was no surprise, though, as to me it always feels good when I can support others. 

It is fair to say that I am passionate about supporting other VBA developers, and it is up to you to find out whether you also see it this way.

May the Cell be With You