Introduction to VBA
This is an introductory course designed to teach practical skills in the VBA programming language for both current and aspiring actuaries. The course duration is eight weeks and covers topics designed to give students a fundamental understanding, enabling them to innovate existing code or create new VBA code.
Instructor: Tyler Landry

I am text block. Click edit button to change this text. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut elit tellus, luctus nec ullamcorper mattis, pulvinar dapibus leo.
Objectives
By taking this course you will learn the following skills:
- Fundamentals of VBA syntax, code editor, and efficient code setup.
- Work with variables, loops, conditionals, and UserForms.
- Develop debugging techniques and error handling skills.
- Prepare a dashboard to present a final deliverable to upper management.

Course Schedule
Week 1: VBA Introduction and Syntax
Content:
- Understanding VBA and its Use Cases
- Navigating the VBA Editor
- Variable types
- Recording and Running Macros
- Basic VBA Coding
- Reference ranges, cells, and basic object hierarchy
- Debugging Basics
Application:
- Quickly format datasets and tables for reports
- Fill out repetitive data templates
- Identify and fix common VBA issues in existing macros
Week 2: Building on Basics, Introducing Programming Logic
Content:
- Understand how to declare and use variables effectively
- Learn about data types and when to use them
- Write conditional statements to handle decision-making in code
- Use loops to automate repetitive tasks dynamically
- Practice applying these concepts to realistic insurance and data science scenarios
Application:
- Automatically apply discounts, fees, or surcharges to a dataset of policyholders
- Write VBA to classify customers or flag high-risk clients in an insurance dataset
- Automate the creation of summaries, even as datasets grow or change
Week 3: Advanced Automation and Error Handling
Content:
- Learn to work with multiple worksheets and workbooks
- Understand how to handle user input dynamically using InputBox and message boxes
- Implement error handling with On Error to make macros robust
- Create practical macros to automate complex, real-world tasks
Application:
- Combine data from multiple sheets or files into a single, usable format
- Create tools that let users customize calculations
- Build macros that can handle exceptions, ensuring reliability
- Automate aggregation tasks across multiple datasets
Week 4: Advanced VBA Topics and Customizing User Interaction
Content:
- Learn to create custom functions to extend Excel’s built-in capabilities
- Automate the creation and manipulation of charts and PivotTables
- Design and implement basic user forms for improved interaction
- Solve real-world problems in data analysis and insurance
Application:
- Automate the generation of visual and tabular reports
- Create applications to gather inputs like insurance quotes, claims data, or pricing preferences.
- Build reusable PivotTable-based dashboards for recurring analyses
Week 5: Optimizing Code and Advanced Data Manipulation
Content:
- Write clean, efficient, and reusable code using modular design.
- advanced data manipulation techniques, such as working with arrays and dictionaries.
- Use VBA to interact with external data sources like text files.
- Advanced debugging techniques for maintaining and optimizing VBA projects.
Application:
- Handle large datasets in insurance or data science workflows with improved speed.
- Build modular tools that can be adapted for various tasks like reporting or automation.
- Import, clean, and export data seamlessly for real-time updates.
- Deliver robust VBA solutions that minimize downtime due to errors.
Week 6: Building Interactive Dashboards
Content:
- Understand the principles of dashboard design for stakeholder communication
- Integrate VBA with Excel charts, pivot tables, and slicers for dynamic visualizations
- Use VBA to automate dashboard updates and enhance interactivity.
- Apply formatting and usability principles to make dashboards intuitive and visually appealing.
Application:
- Build visually appealing and interactive dashboards
- Automate updates to dashboards for efficiency.
- Enhance data visualization for stakeholder communication.
Week 7: Advanced Problem-Solving
Content:
- Analyze and understand pre-existing VBA code.
- Troubleshoot and debug complex VBA projects.
- Develop and integrate enhancements to existing solutions.
Application:
- Work with and improve pre-existing systems.
- Ensure tools are maintainable and easy to understand for non-developers.
- Articulate the value and functionality of technical solutions to stakeholders.
Week 8: Final Project Development and Course Review
Content:
- Review and reinforce key VBA concepts and techniques
- Reflect on how to use VBA in real-world professional scenarios
- Discuss final project, tips, presentation expectations
Application:
- Present technical insights and tools in a clear, actionable manner
- Deliver polished projects with professional documentation
Final Project
At the conclusion of the course there will be an assigned project using imitation claims data where students will utilize VBA to perform analysis and build a dashboard to communicate main points simply and clearly.
Prerequisites:
Students should have at least a basic understanding of the following topics and exams.
- Probability and statistics
- Financial mathematics
- Microsoft Excel
Required Software/Operating System:
- Microsoft Excel with VBA enabled