“Excel/VBA for Creative Problem Solving, Part 1” is aimed at learners who are seeking to augment, expand, optimize, and increase the efficiency of their Excel spreadsheet skills by tapping into the powerful programming, automation, and customization capabilities available with Visual Basic for Applications (VBA).
This course is the first part of a three-part series and Specialization that focuses on the application of computing techniques in Excel/VBA to solve problems. In this course (Part 1), you will: 1) create macros to automate procedures in Excel; 2) define your own user-defined functions; 3) create basic subroutines to interface with the user; 4) learn the basic programming structures in VBA; and 5) automate Excel’s Goal Seek and Solver tools and use numerical techniques to create “live solutions” to solve targeting and optimization problems.
New to computer programming? The extremely intuitive and visual nature of VBA lends itself nicely to teaching and learning – what a fun way to learn to code! No prior knowledge in programming nor advanced math skills are necessary yet seasoned programmers will pick up new and creative spreadsheet problem solving strategies.
After you have learned the basics of VBA, each module will introduce foundational and broad problems inspired by situations that you might encounter in the real world. To pass each module, you’ll need to pass a mastery quiz and complete a problem solving assignment. This course is unique in that the weekly assignments are completed in-application (i.e., on your own computer in Excel), providing you with valuable hands-on training.
Macro recording, VBA procedures, and debugging
Week 1 will introduce you to visual basic for applications (VBA) and teach you the foundational tools required to create basic procedures in VBA. You'll learn about different data types and the scope of variables, how to troubleshoot your code when it's not working, and how to record basic macros using both absolute and relative referencing modes.
User-Defined VBA Functions
In Week 2, you will learn basic VBA expression entry, how to create user-defined functions, how to convert functions to Add-Ins in Excel, how to borrow Excel's built-in functions, how to troubleshoot your VBA functions when they aren't working, and you'll learn about how to design your procedures in a modular fashion.
Exchanging Information Between Excel and VBA
Week 3 teaches you all about how to reference and move information to VBA from Excel and vice versa. You'll learn about the various objects, properties, methods, and events in VBA. Some of the most important properties and methods will be learned in this module that will make future problem solving in the course possible. You will also learn how to deal with errors that arise in your subroutines.
Programming structures in VBA
Week 4 begins the "meat" of programming in VBA, and we are finally moving into some exciting problem solving. You will learn about the common programming structures in VBA (sequence, selection, and repetition) that form the foundation for advanced programming procedures. Several examples will highlight the utility of these programming structures.
(OPTIONAL) Numerical techniques and live solution strategies
Week 5 is OPTIONAL! Those who complete the Week 5 assessments (Quiz 5 and Assignment 5) will earn an Honors designation on their Course Certificate (see the first reading "WEEK 5 IS OPTIONAL" below). Week 5 delves into some important numerical techniques that can be used in Excel without the use of VBA. You will also explore ways in which the targeting tools in Excel (Goal Seek and Solver tools) can be automated in VBA. Finally, you'll explore some exciting "live solution" methods that have distinct advantages, especially for case studies where you have multiple scenarios that must be solved. Week 5 represents the most math-heavy module of either part of "Excel/VBA for Creative Problem Solving" but will provide you with some extremely useful tools that you can implement in solving a variety of real world problems. Even if you choose to skip/forego Week 5, you can always use this material as reference in the future!