EXVBA-3
Excel programming in Visual Basic Advanced
Description
This course is a continuation of the Visual Basic for Applications (VBA) Intermediate course. The course is designed for students with advanced knowledge of MS Excel who wish to take advantage of the programming possibilities not only in MS Excel, but also in the full MS Office suite (e.g. MS Power Point), and to develop and create more complex applications that can be used by other users.
The aim is that participants will be able to independently create a user-friendly VBA program with appropriate control steps that can handle other Office applications. Participants will be able to interpret more complex VBA applications and make necessary modifications.
Outline
Overview of the Visual Basic for Application programming environment
- Overview of basic programming skills
- Overview of functions and procedures
- Overview of Office objects and object models:
- Managing Events in Worksheets and Workbooks
Excel Forms and Controls
- Forms and controls
- Using form elements and creating a standalone user interface in a VBA environment
- Using, customizing and modifying built-in elements and components (drop-down menus, lists, text boxes, buttons, radio buttons, dialog boxes)
Accessing external programs
- Access MS Office programs (MS Outlook, MS Word, MS Power Point: e.g. automatic report generation based on MS Excel data)
- Internet access from MS Excel
Introduction to design patterns
- What are design patterns and why do we need them
- Constructing patterns
- What are the types of designs and what are they based on?
- Rubberduck VBA, a tool for faster and easier coding
Writing and testing programs
- Creating add-ins
- Complete automation examples, from design to implementation (generating reports based on weekly changing data, aggregating data with macros and user interface, etc.)
Prerequisites
Excel programming in Visual Basic Intermediate course completion or knowledge. Previous programming experience (e.g. Pascal, Python, etc.) is an advantage. Candidates should be confident in writing and reading complex programs and be familiar with the concepts of object-oriented programming.