Putting It All Together – Our First VBA Application [Part 4 of 5 – Excel VBA Crash Course]

Share

Facebook
Twitter
LinkedIn

This article is part of our VBA Crash Course. Please read the rest of the articles in this series by clicking below links.

What are Variables, Conditions & Loops are and how to use them in Excel VBA

  1. What is VBA & Writing your First VBA Macro in Excel
  2. Understanding Variables, Conditions & Loops in VBA
  3. Using Cells, Ranges & Other Objects in your Macros
  4. Putting it all together – Your First VBA Application using Excel
  5. My Top 10 Tips for Mastering VBA & Excel Macros

In part 4 of our VBA Crash Course, we are going to create our very first VBA application using what we learned so far.

Our first Application – What is it supposed to do anyway?

Remember the “We Are Nuts” example. We are back to it. This time, we will create a daily sales tracker application that makes your job a breeze. But saying words like breeze when defining your next VBA application is a dangerous thing. So lets list down all the things our little Excel VBA workbook should do.
Sample Excel VBA Application - Demo - Excel VBA Crash Course

  1. The current method of using Inputboxes to capture 24 sale values and any reasons for deviation is tedious. So our application should instead process the values from already entered values and ask for reasons (thru inputbox) only when the sales are too low or too high.
  2. At the end of processing the sales, we want to see a short summary of how we did for the day. Something like this,
    Summary Statistics shown in our application - Excel VBA Crash Course
  3. Once we finish viewing the statistics a snapshot of the daily sales & along with summary statistics should be saved to current folder as PDF for later reference.

Designing our first VBA Application – Key Ingredients:

In this section, let us understand how our application should be designed and what goes in to it.

First, let us look at various things our application need to do, in a schematic. This types of diagrams are called as flow charts.

Flow Chart for Our VBA Application - VBA Crash Course

Key Ingredients of our Daily Sales Tracker Application:

Lets look at each area of our application and understand what VBA technique or statement helps us to do it.

  • Process one store sale at a time: This is achieved with the FOR EACH statement [Related: What are VBA loops?]
  • Capture reasons for deviation: Lets do InputBox() for this
  • Calculate Summaries as we go: Some variables to calculate the summaries as we go. And a few IIF() formulas to help us update the values where needed. (PS: IIF is Inline IF Formula)
  • Display Summary Statistics: We will use MessageBox() for this.
  • Save a snapshot of the report: This is done by Range.ExportAsFixedFormat() method. [Related: understanding cells, ranges & other VBA objects]

Demo of our Daily Sales Tracker VBA Application

Here is a quick demo of our Daily Sales Tracker Application


Download our Daily Sales Tracker VBA Workbook:

Click here to download the Daily Sales Tracker VBA Workbook. Enable macros, enter some values and play with it.

If you just want to examine code, see this page.

What Next – My top 10 tips for using VBA

In final part of our VBA crash course, Learn my top 10 tips for mastering VBA.

If you have not read, please read the first 3 parts of this series,

  1. Introduction to Excel VBA – What is it & How to write your first VBA Macro.
  2. Understanding Variables, Conditions & Loops in VBA
  3. What are Excel VBA Objects and how to use them?

How do you like this VBA Application? How would you enhance it?

This application is one simple example of what you can do with VBA. Learning how to use Excel & VBA can enable you do several more awesome things at your work & life.

Do you like this application? How would you have designed it? Please share your ideas & tips using comments.

Join Our VBA Classes

We run an online VBA (Macros) Class to make you awesome. This class offers 20+ hours of video content on all aspects of VBA – right from basics to advanced stuff. You can watch the lessons anytime and learn at your own pace. Each lesson offers a download workbook with sample code. If you are interested to learn VBA and become a master in it, please consider joining this course.

Click here to learn more and Join our VBA program.

Facebook
Twitter
LinkedIn

Share this tip with your colleagues

Excel and Power BI tips - Chandoo.org Newsletter

Get FREE Excel + Power BI Tips

Simple, fun and useful emails, once per week.

Learn & be awesome.

Welcome to Chandoo.org

Thank you so much for visiting. My aim is to make you awesome in Excel & Power BI. I do this by sharing videos, tips, examples and downloads on this website. There are more than 1,000 pages with all things Excel, Power BI, Dashboards & VBA here. Go ahead and spend few minutes to be AWESOME.

Read my storyFREE Excel tips book

Overall I learned a lot and I thought you did a great job of explaining how to do things. This will definitely elevate my reporting in the future.
Rebekah S
Reporting Analyst
Excel formula list - 100+ examples and howto guide for you

From simple to complex, there is a formula for every occasion. Check out the list now.

Calendars, invoices, trackers and much more. All free, fun and fantastic.

Advanced Pivot Table tricks

Power Query, Data model, DAX, Filters, Slicers, Conditional formats and beautiful charts. It's all here.

Still on fence about Power BI? In this getting started guide, learn what is Power BI, how to get it and how to create your first report from scratch.

7 Responses to “Project Dashboard + Tweetboard = pure awesomeness!!!”

  1. Dan Murray says:

    I would like to see actual hash-tagged DM tweets go out to the specific information consumers. That would be an interesting way to communicate the key daily data to interested parties.

    A Twitter-like secure application like Yammer might be a good fit with this.

    For example, how about daily tweets to selected user groups (secure) that would display sales, bookings, cash receipts, cash disbursed and a second version that would show the same info for MTD, QTD or YTD figures.

  2. Aires says:

    @Dan, it would be great. I did not taught about implementing it on this dashboard because twitter is blocked to the whole intranet here. However, there's a discussion here about how can we send these tweets to blackberries (probably through e-mail) automatically. (I'd like to see this implemented on a jabber restricted network as well, but here it'll probably not happen)

    The wrap-up versions you mentioned doesn't apply to my particular scenario, but on a sales tweetboard it would be a great tool indeed - choosing who will receive which message according to hashtags. I'll think on something, thanks for the advice. 🙂

    (Ah, btw, I'm Fernando... 🙂 )

  3. Chandoo says:

    @Dan: That is a fun idea. Instead of tightly integrating twitter functionality with a dashboard, i think it would be cool if we have a "tweet this" button that users can click after selecting a range of cells. We can easily show a dialog with the concatenated output of the selected cells and ask user to edit the text and eventually "send to twitter".

    For eg. you can select the annual sales figure cell and click on "tweet this" button upon which a dialog will show the value. Then you can pre-pend it something like "DM @boss look at our sales this year: "

    @Aires.. thanks once again.

  4. Wow it looks really good. Not sure though how much the tweet facility would help in real world project management, but certainly having a dashboard on a project should be a key deliverable when learning how to manage a project

    The other use of this is during the software development life cycle especially when you have parallel streams of development and testing going on. Using a dashboard is a quick way for everyone on the team to see where the project is at and how it all fits together.

    Regards

    Susan de Sousa
    Site Editor http://www.my-project-management-expert.com

  5. Sue says:

    Hi Chandoo,
    I purchased the project management toolkit but the dashboard shown above with the imbedded scroll bars. Is it included in the project pack??
    Thanks

    Sue

  6. XLCalibre says:

    The gantt chart section of this dashboard is similar to one I have recently created: http://xlcalibre.com/hr-dashboard-gantt-chart-traffic-light-reportIt has a similar approach with scroll bars, but has a couple of additional features. I've tried to incorporate a traffic light report element, and also allow the timescale to adjusted so that can view it by days, weeks or months.I really like the other tables that you've incorporated, I may well try to replicate them to improve my version!

  7. I am a monitoring and evaluation consultant in international development, and one of the services I offer is to help non-profits and foundations develop performance dashboards.  I often advise them to develop dashboards for ongoing programs, rather than for one-time or pilot projects, because of the time involved.  I am trying to find out from a few people how long it takes you to develop a project management dashboard, and to what extent the indicators vary from one project to the next.

Leave a Reply