Learn the Way of Creating Excel VBA Solutions that Allows Me to Charge 150 Euros Net per Hour

My happily returning clients know that they save money, time and nerves, while nonetheless getting excellent resultsdespite of paying me an insanely high hourly rate.

Achieving much higher quality in much less time*: this is what my “VBA.Flow()” approach and my “Flow Framework 2” do for me; and this is what I can teach you.

* Commercial usage of “Flow Framework 2” might require a paid license, subject to individual agreement.

Start Your Free Learning Journey

Subscribing to the free VBA.Flow() newsletter will bring valuable contents to your inbox regularly. For a start, you are going to receive the free welcome package: learn how to create and run automated tests with a simple free solution, which can be used independently from Flow Framework 2.

No advertising, only free nuggets of value that will help you on your learning journey.

So far, so good. What does this really mean for you?

The following text will show and convince you how you can benefit from all of this. I do have to start with myself to illustrate your benefits, with my pains and with how I found relief.

Why should you trust me? A guy you never heard of, talking about Enlightenment in the context of developing and maintaining professional solutions with Excel VBA.

Call me Anders. For more than 20 years, I’ve been conceiving, designing, developing and maintaining custom-tailored solutions with Excel VBA, mostly in the domains of Accounting and Tax.

During this time

  • I went through a lot of mistakes, a lot of pain,
  • a lot of annoyingly unclean code,
  • burning much of my cognitive fuel already by only trying to understand what the hell I had done six months earlier in the code of a project,
  • repeatedly almost driving me nuts by having to search for hours why a solution did not work any longer, only to find out in the end
  • that I had hard coded some reference to worksheet contents
  • or that I had changed something correctly in one place, without remembering that my unclean code would have required me to do the same change in three places.

All of this becomes very tactile for me quickly when I have to look at the code of a solution I developed 10 years ago, or – even worse – 15 years ago.

At some point in time, my practice started to evolve into something that you could call a recognizable approach for my way of working with Excel VBA. It took me several years to arrive at what I now do call the “VBA.Flow()” approach.

At some other point in time, I had grown utterly tired of reinventing the wheel in each new project. Therefore, I came up with a framework, which I could use to kick start new projects and to facilitate their development and maintenance. It took two predecessors to arrive at today’s “Flow Framework 2”[1].

Some of my colleagues and some other persons saw my code and other technical views on the results of my applying the “VBA.Flow()” approach with my “Flow Framework 2”. They loved what they saw and asked me to show them how to work this way and how to use the framework.

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

I showed them, tried to teach them effectively and efficiently, repeatedly being confronted with the following problem:

It’s all in my head, but mostly only in my head.

This was not very useful for my colleagues. This is not very useful for you.

Thus I have started to dump it out from there and bring it into a suitable structure that allows you to learn and apply everything as easy and as fun as possible.

So there’s no have-it-all resource yet, allowing you to access it, being hooked instantaneously, spending the next couple of days without sleep and with lots of coffee, learning “VBA.Flow()” and the usage of “Flow Framework 2” based on useful learn projects, emerging from this learnathon as an enlightened Excel VBA developer.

What is already there, then, for you?

What free benefits can I already give you? For which of your pains can you already get relief?

What I have started to create and provide are free nuggets of value, possible quick wins for your way of working with Excel VBA.

And then, of course, there’s “Flow Framework 2”, which you can start using freely[2] right away. Even though it still is in an early stage, dozens of fine Excel VBA solutions already have been successfully developed with it.

All you have to do for getting access to these free nuggets of value is to subscribe to my newsletter. By doing this you not only get access to all of these free nuggets, but I also will inform you about new ones.

Start Your Free Learning Journey

Subscribing to the free VBA.Flow() newsletter will bring valuable contents to your inbox regularly. For a start, you are going to receive the free welcome package: learn how to create and run automated tests with a simple free solution, which can be used independently from Flow Framework 2.

No advertising, only free nuggets of value that will help you on your learning journey.

Until, eventually, the have-it-all resource is going to exist. As an early adopter, there’s a chance that you won’t need it, as utilizing the free resources might be sufficient. Let’s find out together and transform your dev game on the way.

What features and benefits will be part of this have-it-all resource?

The primary target group for the VBA.Flow() approach and development based on Flow Framework 2 are people who do have advanced Excel VBA skills and at least a basic understanding of object-oriented design and development.

If you do not meet these requirements, but do want to apply VBA.Flow() and use Flow Framework 2, fear not! I will provide references to learning resources I recommend to learn what is needed.

Learn how to

  • do the following things with or without Flow Framework 2
  • create and use maintenance mode and debug mode
  • work with graceful error handling, including the creation of error logs
  • do automated testing, either with the add-in Rubberduck or VBA-code based, often reaching full test coverage
  • apply the Test Driven Development method with Excel VBA
  • “deploy” your solutions, i.e. setting it to production mode and removing all “development only contents” in production versions
  • encapsulate dev and test contents so that you can remove it safely during “deployment”

Learn how to

  • analyse and document business requirements in an object-oriented way. 
  • design your with Excel VBA in an object-oriented way, with specific focus on separation of worksheet structure and contents from VBA architecture and code.
  • use UML class diagrams to document your design and ChatGPT to create the complete code skeleton of your design in less than two minutes.
  • create clean architecture and keep it clean throughout the life cycle of your solutions.
  • use workarounds for class inheritance and polymorphism, two key concept of object-oriented programming languages that are not natively supported by VBA
  • use relevant Design Patterns in your Excel VBA solutions, saving you a lot of time and cognitive energy as well as making things possible that you probably are not aware of being possible
  • do all this in a way that will produce easily reusable modules and class modules, with and without Flow Framework 2.
  • Git cannot look into Excel workbooks. Thus, version control needs a different approach.
  • Flow Framework 2 automatically creates the files you need for version control.
  • Learn how to
    • work with Semantic Versioning appropriately.
    • work collaboratively on Excel VBA projects in a safe and efficient way.
    • efficiently document what you later will need to create release notes.

Learn how to

  • significantly improve your development experience with MZ Tools, an add-in for the Visual Basic Editor.
  • write clean code and refactor code to gradually become more clean
  • create a clean architecture and refactor it to gradually become more clean, including not only the VBA part,
  • but especially also the technically relevant workbook and worksheets contents, which will boost the robustness and flexibility of your solutions regarding structural changes in worksheets

Learn to work with Flow Framework 2 by creating the learning projects, all of which are useful solutions, based on guidance designed to maximise your learning success.

This will touch and include almost everything else listed here, the totality of which plus some other bits constitute the VBA.Flow() approach.

Use my MZ Tools settings and create your own settings, including a code library for working with Flow Framework 2.

With VBA.Flow() and Flow Framework 2 you can create fully functional prototypes efficiently:

  • users will be able to work with it already and to provide valuable feedback for the solution that will be created later with a different technology
  • UX, architecture, data model and code can be done in a way that facilitates the later development with a different technology
  • learn the basics of designing a relational data model and how to implement it natively in your solution or connect it to an external relational database

You will get access to a library containing code and solutions, for Flow Framework 2 as well as for independent usage.

An Enlightened way of working with Excel VBA has some parallels to an enlightened way of doing a lot of other things as well.

Having said this, expect contents and exercises that will help you grow as a person also beyond your Excel VBA work.

If you want me to review your solution and provide you with a report and an action plan for how to make it clean, get in touch with me.

If you want me to support you with creating, refactoring or maintaining your solution, get in touch with me.

If you want me to support you personally on your learning journey, get in touch with me.

[1] “Flow Framework”, the prior version, is extremely powerful, however it also is extremely loaded with features that I did not need often, only in huge applications, which come very close to what still does make sense to do with Excel VBA. Therefore, I created “Flow Framework 2” and am evolving it in a way that I only add new features if these turn out to be required often enough, i.e. a “less is more” approach.

[2] Commercial usage might require a paid license, subject to individual agreement.

Start Your Free Learning Journey

Subscribing to the free VBA.Flow() newsletter will bring valuable contents to your inbox regularly. For a start, you are going to receive the free welcome package: learn how to create and run automated tests with a simple free solution, which can be used independently from Flow Framework 2.

No advertising, only free nuggets of value that will help you on your learning journey.

May the Cell be With You

Anders