VBA Serenity

Share

Facebook
Twitter
LinkedIn

Greetings and salutations, my fellow VBA-fearin’ congregation. Evangelizin’ Jeff here, spreading the good word about everlastin’ VBA serenity. You may remember me from mah preeeevious sermons such as Tables, PivotTables, and Macros: music to your ears and Big trouble in little spreadsheet. Well today, I’m going to praise the work of a high-yah pow-wah.

Jon Peltier monkOur most pious Brother Jon Peltier (who’s fine presence is to mah left) broke his vow of silence over at the PeltierTech monastery to make a most inspirin’ observation during his recent confession Highlight a Specific Data Label in an Excel Chart:

Because I’ve been doing a lot of coding lately, my first thought was an approach using VBA. Then of course I came to my senses, and worked out a non-programmatic approach.

If possible, it’s usually advantageous not to rely on VBA for such tasks.

Hallelujah, brother!

My visionary brother is right: if there’s one rule of VBA that you should religiously observe, it’s to let the application be the application, where ee-fishin’ tah do so. A whiles back, I jokingly spoke it alike this:

The serenity prayer for Excel:
Lord grant me the VBA skills to automate the things I cannot easily change; the knowledge to leverage fully off the inbuilt features that I can; and the wisdom to know the difference.

(And I particularly chuckled at Excel Ninja BobHC’s response: You been on them tablets again.)

This sentiment is echoed in the commandments given us in Professional Excel Development (written by those latter-day-saints Bovey, Wallentin, Bullen, and Green):

Chandoo_VBA Serenity_PED2

This Good Book evangelizes that Excel developers “…shalt be divided into five different categories”:

  1. Basic Excel users, whom generally use Excel for fairly simple tasks, but as their exposure to Excel grows, so does the complexity of their worksheets and use of complex worksheet functions, PivotTables, and Charts.
  2. Power Users, whom have a broad understanding of Excel’s functionality, and occasionally use snippets of VBA from the Net or via the Macro Recorder, but their code tends to be messy, slow, and hard to maintain.
  3. VBA Developers, whom make extensive use of VBA – perhaps too much…to the point that they tend to use VBA to tackle practically every problem.
  4. Excel Developers, whom realize that the most efficient and maintainable applications are those that make the most of Excel’s built-in functionality, augmented by VBA where appropriate.
  5. Professional Excel Developers, whom know more languages than your typical Babel Fish.

That leap from VBA developer to Excel developer is worth striving for. (Don’t bother striving to be a Professional Excel Developer…they are so nerdy that they get about as many dates as your typical cloistered monk or nun). Unfortunately gaining the wisdom to jump from that third class to the forth one ain’t easy, and dedicated sermons on this matter are few and veryfar between.

Far too often the likes of yours truly are often so focused on leading you not into temptation and instead down a righteous path, that we simply never take the flock anywhere near enough to temptation so that we might cautiously peer at it from a safe distance and say in our most solemn and hushed tone “That way surely leads to hellfire, damnation, and eternal recalculation”. No siree, I’m afraid we usually opt instead to simply get the flock away from there.

However, help is at hand, sinners. Forums such as our very own Chandoo.org/forum are a great place to get guidance on such spirited matters…particularly if you ask the right question, such as “What is the best way to achieve X using Excel version Y”. But you’ll need to ask an open question based around what you are trying to accomplish, rather than being overly focused on how you are trying to accomplish it.

For instance, if you ask “How can I efficiently achieve X with VBA then that is all you will get…answers about the most efficient way to do it within the confines of the particular tool you have specified. Which will often not be the most efficient way. In fact, I’ve lost count of the number of times where someone has asked for a formula or VBA solution to some devilishly complicated problem – and got something devilishly complicated formula or code as a result – when a mere PivotTable would have sufficed. Or when some very simple Structured Query Language (SQL) via the in-built (but antiquated) Microsoft Query interface would have nailed it.

[Aside: SQL is basically a database language use to perform the database equivalent of lookups and to crunch numbers, or to conditionally join large datasets based on multiple complex conditions. SQL can be directly leveraged by Excel with minimal programming. Heck, you can use SQL to do stuff with NO programming whatsoever via Microsoft Query – a handy (if ancient) little interface bundled into Excel that will look familiar to any Access users. For an excellent Excel-centric introduction to SQL, read Craig Hatmaker’s amazing Beyond Excel: VBA and Database Manipulation blog. Chandoo also has a great guest post by Vijay – Using Excel As Your Database – on this subject. Ignore all the naysayers and unbelievers in the comments who say “Excel shalt not be used a database” for they know not what the point is. Which is that yea Excel doeth speak in SQL tongues at a pinch, and SQL is pure salvation when it comes to manipulating data, be it Big Data, Small Data, or Somewhere-In-Between data.]

Not to mention the miracles even a layperson can perform if they have the almighty Excel 2010 and PowerPivot installed. Or Excel 2013’s Data Model, which lets you mash up data from Excel Tables and serve them up directly as PivotTables with not a VLOOKUP or Macro in sight.

The end of Excel ain’t nigh…

Every release, Excel gets stronger and stronger. Excel 2010 offered us sinners significant improvements over previous versions…giving us things like Slicers and the free PowerPivot add-in. Excel 2013 takes a giant leap forward in allowing us to leverage off of inbuilt functionality to do things that we would otherwise require tons of complex code and complex formulas to achieve. Had Excel 2013 been launched 10 years ago, I simply wouldn’t need to have been a-preaching VBA and SQL to as many unbelievers as I have. If we keep abreast of these changes, then as the functionality of Excel ramps ever up, our code can ramp down accordingly.

The bottom line here is this: if thou strive to be a really good Excel developer then thou best get to know what’s behind just about every nook and cranny of the Excel application itself. Particularly the newly prophesied ones (yea the power of PowerPivot compels you,according to that dark preacher Mike Alexander). So go and explore all those mysterious things on the ribbon. You don’t have to master all of them…but it sure does help if you have an inkling of what they all do. Not just the obvious things like Tables and PivotTables, but the more mysterious ones like Slicers, Data Validation, and What-If-Analyis. And also the completely hidden ones like Goto Special. Not only do all those things do things natively that would require many Shekels of VBA code to replicate, but most are completely addressable from VBA to boot. Meaning an Excel Developer can simply say “Excel – do that thing with this data“.

Before you try to bend Excel to your complete command, study it well. No matter how much you want to jump right in tinker with Excel’s very soul, don’t discount what’s effectively printed on the outside of the box. If you do, you’re just another lazy devil writing hellish code.
Chandoo_VBA Serenity_Devil Ain't Easy

Feel free to leave your own theological questions and musings in the confessional box below. Unless it’s to say that you don’t like Pokey LaFarge. Keep that to yourself. Because I love ’em. Saw them live in Wellington a couple of weeks back. Definitely worth checking out if they come to a town near you.

Chandoo_VBA Serenity_Good lord giveth

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.

28 Responses to “Team To Do Lists – Project Tracking Tools using Excel [Part 2 of 6]”

  1. [...] & tracking a project plan using Gantt Charts Team To Do Lists - Project Tracking Tools Part 3: Preparing a project time line [upcoming] Part 4: Time sheets and Resource management [...]

    • Jacobus says:

      the templates are great (I bought the combo).
      What I'm missing is a way to have the project gantt chart and reporting with the data per resource, in such a way that I can also show the occupation per resource on an extended gantt chart.

      So with hours entered per person per project or sub-activity, to show a gantt chart of how many hours/days a person spent on which project (or plans to spend).

  2. [...] from: Team To Do Lists - Project Tracking Tools using Excel [Part 2 of 6] 25 Jun 09 | [...]

  3. ross says:

    Hi Chandoo,

    Funny I have a post on the value of MS project lined up which I will post when the current monster project I'm working on finishes and I get some free time!

    I'm not sure this would help with any of the projects I've worked on, closing down a to do list seems like more effort than it's worth, but it might be useful for some things. I guessing it doesn't, but does the time stamp not update when you recalculate the work book?

    keep up the good work!
    Ross

  4. Chandoo says:

    @Ross.. Thanks for sharing your ideas... I think to do lists are a great way to keep up with project activities and ensure accountability from individual team members, when they are implemented right.

    "I guessing it doesn’t, but does the time stamp not update when you recalculate the work book?"

    Your guess is right. When you change the calculation mode to "iterative", excel takes care of the nittygritties and retains older values in circular references in formulas.

  5. [...] Project Management in Excel [New Series] - Gantt Charts | To Do Lists [...]

  6. [...] & tracking a project plan using Gantt Charts Team To Do Lists - Project Tracking Tools Project Status Reporting - Create a Timeline to display milestones Part 4: Time sheets and Resource [...]

  7. Tam says:

    Hi Chandoo,
    The template give me lot of convenience to monitor the thing to do. It simple. Thank You

  8. [...] & tracking a project plan using Gantt Charts Team To Do Lists - Project Tracking Tools Project Status Reporting - Create a Timeline to display milestones Part 4: Time sheets and Resource [...]

  9. [...] make sure you have read the first 4 parts of the series - Making gantt charts [project planning], team todo lists [project tracking], project time lines chart [reporting] and Timesheets and Resource Management using Excel. Also [...]

  10. Brian says:

    Chandoo,

    I really do not see any befit to this function in Excel unless it was somehow tied into some other chart. That is say a scheduled activities % complete is based on the to-do list.

    The only way this chart would be useful is if no one was assigned none dependent task that could be done by anyone. The cases were both of these conditions are true are so few and far between it really makes this chart worthless.

  11. Chandoo says:

    @Brian... Once you have a todo list up and running, it is easy to get metrics out of it. I didnt propose it as it might look a bit too micro-management-ish.

    I am able to understand what you meant by "The only way this chart would be useful is if no one was assigned none dependent task that could be done by anyone. The cases were both of these conditions are true are so few and far between it really makes this chart worthless."

    Can you explain?

  12. Brian says:

    "Chandoo"

    What I mean is this. Lets say you have 10 task which are part of one activity/WBS that is in your schedule. One there are very few cases were many people would be assigned to complete this one scheduled activity with no direction being given who should what of the 10 task. It is poor management, and the task 90% of the time would not get done in a timely manner if say 4 people were responsible. Secondly, you are assuming all 10 task are independent of each other. You might need to do task 1 thru 3 before you can do task 4, and to do task 7 you might need to do 4 and 6. Thirdly, the time it would take to compile and then fill out the to-do-list even in limited applications is really not worth it.
    I just see almost no applications why a team would need to inform others separate from the schedule that they have completed a task on a to-do list unless anyone of the 4 people could of completed that task.

    My point is, there might be a few very limited applications for this type of list but this list would be worthless as a Project Management tool in every other case.

    However, change this from a to-do-list to a document change log and it is perfect. Instead of to-do it is the documents name or summary of what changed in the document. The person is who edited the document, and the time stamp is when they checked it in. But I do not know why you would use excel when there is free software you can use commercially that is 10 times better that does document management.

    I think using excel to do Project Management over a real Project Management application is a bad idea. Unless you are running a very small, simple project, the time and effort is a lot more to use excel compared to the cost of the Project Management software.

    This comes back to my point, I love your site, however, just because you can do something in excel does not mean you should do it. To often the time it takes to use excel is wasted 10 times over from the cost of doing it in an application designed to for the specific application.

  13. Chandoo says:

    @Brian: The todo list mentioned here is meant to keep track of all the tasks for which detailed planning is not necessary but some sort of tracking is needed. These are not be confused with project activities (a la gantt chart).

    I like your suggestion about using this as a document tracker. Pretty cool use.

    Coming to your point about excel as a real project management tool, well, I have my views, but in a serious project environment, it would surely payoff to have a dedicated project management application.

  14. [...] & tracking a project plan using Gantt Charts Team To Do Lists – Project Tracking Tools Project Status Reporting – Create a Timeline to display milestones Time sheets and Resource [...]

  15. Somnath says:

    Chandoo,

    Wonder how the timestamp column will maintain its previous data. Both Today() and Now() functions will update as and when the next timestamp happens.

  16. [...] Preparing & tracking a project plan using Gantt Charts Part2: Team To Do Lists – Project Tracking Tools Part3: Project Status Reporting – Create a Timeline to display milestones Part4: Time sheets and [...]

  17. Tate says:

    I've combined this with the issue tracker since I like the automatic date stamp, but one thing I'm noticing is that I can't replicate the chart that goes along with the issue tracker because the cells that are referenced have the formula that inserts the time stamp instead of a the actual date value. All the dates of the last 30 days display 0 when they should have a value.

    Is there a way around this?

  18. Mitch says:

    I have edited the chart so that my team members can update the percentage completion of the assigned tasks. When the cell is updated, i would like the time stamp to update. How would I manipulate the formula to update whenever the drop-down list is changed?

  19. Excel is great however sometimes you need to get a better idea of what tasks each person on your team is working on at any given time. We've developed a web app that can do just that! Each person has a list of tasks, listed in the order they have to complete them.

  20. Yukti Kumar says:

    HII,

    I want to expand the database through excel where i am working on 11 cities as of now and i want to expand it upto 50 cities and hence forth the data related to it will also expand so i want to make it precise where i can get updates also that this work is required to be done at that particular day or date

  21. BudB says:

    Thanks for making all of this information available for free. I am currently using excel to track everything for the first time. I later plan to output our information here with a more visual presentation. Wish me luck!

  22. Learner says:

    Can some one point me out to some additional direction on the "Who Finished it?" column? Something more 'basic' for a newbie excel guy? lol I got everything else working on this tutorial but that column. I can't seem to recreate it and I know a lot of it is due to lack of knowledge with VB code. I'd like to recreate this column very much 🙁

  23. Nishad says:

    Dear Chandoo,
    Thanks for the team to do list, kindly let me know how to set the column who " finished it " from another work sheet

  24. Srihari says:

    Hi Chandoo,

    Unable to download it - can you please check the link and confirm.

  25. Aryona says:

    Great inhisgt! That's the answer we've been looking for.

  26. Tushar Kacha says:

    Hi Team,

    I know u all are the best programmers in the world!!! that's I am here to rectify my issues. here is my question please ans me as soon as possible before 8-3-2017 its really urgent.

    I have a project named the production tracker.

    1) I require the user form which shows the names of the Associates which are linked to the different tracks. when the user is selected the particular track related details and dropdowns should appear.

    2) I need to track the associate needs how much of the time to complete the particular task. with start stop and pause and resume timer.

    3) It should display the daily count of the production and save the data to the another Excel file.

    this production tracker should save all the data no matter how many people logs in into it.

    Please help me for this it will be very appreciated.

    you can directly email me on my mail ID: tusharkch694@gmail.com

Leave a Reply