Course Outline – VBA from Beginner to Expert

It’s time to give me your feedback on the VBA course that I’m making! It’s for you guys after all and I want to make sure you find it useful.

You’ve been asking for this course for a very long time and since I’m stuck inside now I found some time to work on it.

Below is a rough outline of the sections that I am thinking of having in the course – nothing is finalized yet and so your feedback will have a major impact on what I put in the course.

Course Outline

  1. Introduction
    • Introduction to the course.
  2. First Steps
    • The basics of what macros are, how to create them, how to use the VBA editor window, adding comments to macros, running macros, commonly used keyboard shortcuts and other foundational topics that will help you better follow the course.
    • Here, you will also make your first macro.
  3. Macro Recorder
    • I am not sure if I should include a section about the macro recorder or not because I want to teach VBA here and not the macro recorder, but I think I will include this section anyway – let me know your opinion on this!
  4. Reference Cells and Ranges
  5. Getting and Inputting Data into the Worksheet
  6. Working with Worksheets
  7. Working with Workbooks
  8. Adding Logic and Control to Macros
  9. Project 1
    • Smallish project to combine the previous topics – I haven’t decided what this will be yet.
  10. Prompt User Input
  11. Variables
  12. Working with Ranges
    • I’m thinking that this will be a practical application type section that teaches you things like getting the next empty row, etc.
  13. Loops
  14. Practical Loops
    • More practical application of loops, such as looping through a user-selected range of cells.
  15. Searching for Data
    • Showing different ways to search worksheets and workbooks for data.
  16. Big Project
    • Useful project that is bigger than the previous one and combines what was learned so far into something useful – I haven’t decided what this will be yet.
  17. Arrays
    • All about them: making them, changing them, adding and removing things from them, etc.
  18. Events
    • Workbook and worksheet events – probably 1 tutorial to go over a lot of the events and then a series of practical tutorials for some more useful events.
  19. Working with Other Macros
    • Calling other macros, sending them values, etc.
  20. Debugging and Speeding up Macros
    • I might split this into two sections or leave it like this.
  21. Security
    • Macro related security and workbook related security that is handled through macros.
  22. UDF’s
    • User Defined Functions
  23. Importing Data
    • Tutorials relating to importing CSV’s probably.
    • I do NOT plan to cover M Code here – I think that belongs in its own course.
  24. UserForms (?)
    • NOT SURE – I might include this as a small section to get your feet wet with them but I’m not sure how much I should include since this could be its own large course.
  25. Charts (?)
    • NOT SURE – I’m not sure that charts need an entire section for this course?!
  26. Email (?)
    • NOT SURE this should have its own section.
  27. Resource Section: Useful Functions
    • Helpful functions that you should know but which don’t fit well into the above sections.
  28. Resource Section: Working with Ranges
    • Helpful things to do with ranges which would just clutter the other topics if they were included there.
  29. Additional Topics
    • Your choice! What do you want?)

What’s Next?

The design of the course is not finished and I greatly welcome your input on what you would like to see in the course.

I want to make something that is useful for you and I’m ready to hear your thoughts!

Don

You may also like...

18 Responses

  1. Solomon Akwaa-Sekyi says:

    Hi Don,
    This is great. I have long looked forward to a VB tutorial. I have not much knowledge about it but I would like to be able to automate most of my daily work. I think the content of this outline are all good so don’t take any out.
    I am a Geotechnical Engineer from Ghana.
    I appreciate all your free tutorials. You are blessed!
    Regards,
    Solomon

    • don says:

      Thank you very much! I’m glad you benefit from my tutorials and I hope this course will also be able to help, though this one will be a premium course, so it won’t be free.

  2. Rajbir Rajput says:

    Nice

  3. Wayne says:

    I am pretty much self taught in the Macro department, I found the recorder to be a great tool to learn with, and build upon.

    • don says:

      Ok ok, good point. I think that I will mention it in that context and teach it from the perspective of a tool rather than a solution. In line with that, I think that I will introduce it, show how to use it and show how it can be used through the learning process if you get stuck on something. I’m thinking that it won’t be helpful in the context of this course to show people how to perform very specific automation related tasks using the macro recorder because each one of those things could be their own separate tutorial.

  4. Tim Mendenhall says:

    Hi Don, great outline! I have really enjoyed your lessons and look forward to your VBA class.

    I work with CSV files that are produced by a tester that is appended each time a new test is ran. I have to manual take this data and populate it to a table that is linked to a chart so that the chart is updated automatically once the data is in the table.

    I would like to be able learn how to read this updated file and update/append to a Table that updates a chart all automatically. This said, I think covering CSV’s, importing and working with multiple files and a brief section on this aspect of charts with linking to data would be good.

    • Dale Anderson says:

      Including a section on the Macro Recorder is a good idea. It can give you some good ideas on building your code should you get stuck.

      I like your videos and teaching methods. Although I do prefer to use Option Explicit. It helps avoid the misspelling of variables.
      I will be looking forward to your tutorial.

      • don says:

        Thanks for the input! I’m really glad that you enjoy my teaching methods))))

        The reason that I don’t use Option Explicit almost ever is because I do not want to get people stuck with doing everything in such a structured manner from the start because I think that can lead to more confusion. In the course, I will talk about Option Explicit and my plan with topics like that is to ease people into them throughout the course and then, when the macros get bigger and more complex and structured, to use those kinds of things more.

        Following this thought process, this is also why I don’t talk about Objects, Methods, and Functions using these names from the start of the course (and my other tutorials), because I think it’s easy to get confused and put-off.

        Here is my favorite example of how to confuse someone, or maybe anyone before their morning coffee haha…. The Range property of the Range Object returns a Range Object and of course you can put Cells() within all of the examples haha. (https://docs.microsoft.com/en-us/office/vba/api/excel.range.range)

    • don says:

      Thanks, I’m really glad to hear that))) I will for sure talk about CSV’s as everyone encounters them at some point and, actually, as I’m planning which practical projects to make in the course, the workflow that you mention here is a pretty good one for a practical course and a real-world example. If you have anymore thoughts about that workflow process and what it entails, I’d be very interested to hear it!)

  5. AKuol says:

    Thanks Don, that’s a great outline I have been waiting for.

  6. Shahani says:

    VBA Corse v good please make

  7. Marcel Eggen says:

    Looks very complete for a beginners course. A few suggestions:
    – You have a lesson on importing data. Don’t leave that out. I would suggest you also spent time on exporting data. Both are used frequently in real world.
    – For userform you could design a few simple ones. Maybe one asking a user for input, and a few as an addition to MsgBoxes. Simple OK or Yes/No userform.
    – The macro recorder is something you always see in every course. It is somethimes usefull, especially in the beginning. You might use an example and also show how the code would be in proper VBA. Would give a student a wow feeling.
    – Charts, sure why not. I am inclined to say, more is better. Just show how you can set up a chart from VBA. Usefull when people develop projects for other users. And a nice setup if they want to learn more about Dashboards. I have a (too) big Dashboard with LotusNotes of VBA.
    -E-mail is something you almost never see in a beginners course. Good to see that this will be covered too. Good for a reporting feature in a project. Create a report and sent it by e-mail automatically. You also might do something with accessing websites. Get some data or click on elements.
    – If you yourself have usefull functions or subs ( the ones in chapter 19) share them. You don’t want people to write code more than once. Everybody probably uses them. I do and I am sure you also. This your course will provide code that can actually be used in projects.

    Looks all very promising and with more topics than in most beginners courses I have seen so far.

    • don says:

      Thanks for all your great input!!!

      Importing and Exporting will have their place, noted. I was going to focus on CSV files for this part of the course, but if you think something else should be in there, let me know.

      Userform section, I think your thoughts about this are spot-on.

      Macro Recorder – Based on the feedback, I will show it for sure, now, but I think that I won’t focus on it a lot. I want the user to have it as a good tool for when they forget things, especially formatting options. Your idea about the code-correction is a good idea too!

      Charts – I think I’ll show how to make them and then leave any funky things someone might do up to them, whereas in other parts of the course I show a lot of variation on what you can do.

      Email is so useful for people so I’m happy to include that. As for the accessing websites thing, I’m not sure what I should show about that because it can get very complex if the user has no idea what a website looks like under-the-hood. I’m open to hear more of your thoughts on what I might show for that.

      I do want to have a practical section of useful bits of code and subs – my thought on this is to periodically add them to the course as well, but I don’t know about that yet, or if it will even matter to people.

      Thanks so much for your input! I want to make a course that is useful for the people in the real world and I’m and very receptive to all of this feedback)

  8. NikosG says:

    Positive Feedback on the course outline.
    On a personal interest woto hear on the ability to Load data on a Pwer Pivot via VBA.

Leave a Reply

Your email address will not be published. Required fields are marked *