Book Image

VBA Automation for Excel 2019 Cookbook

By : Mike Van Niekerk
Book Image

VBA Automation for Excel 2019 Cookbook

By: Mike Van Niekerk

Overview of this book

Visual Basic for Applications (VBA) is a programming language developed by Microsoft to automate tasks in MS Office applications. This book will help you to focus on the essential aspects of your role by automating mundane tasks in Excel and other Office applications. With comprehensive coverage of VBA delivered in the form of practice problems and bite-sized recipes, this book will help you to hit the ground running. Unlike most books that assume prior programming experience, this book starts with the fundamentals and gradually progresses to solving bigger problems. You’ll start by becoming familiar with VBA so that you can start recording macros right away. With this foundation in place, you’ll advance to using the full capabilities of the language as you apply loops, functions, and custom dialog boxes to design your own automation programs. You'll also get to grips with embedded macros and other advanced tools to enhance productivity and explore topics relating to app performance and security. Throughout this VBA book, you’ll cover multiple practice projects in Excel, Word, and PowerPoint while exploring tips and best practices to hone your skills. By the end of this book, you’ll have developed the skills you need to use VBA to create your own programs that control MS Office applications.
Table of Contents (20 chapters)

Scoping variables

In this recipe, we will be working with the range of effect, or scope, of variables.

Whenever you declare a variable in a module, you would expect that variable to at least have an effect within that module. You can also say you would expect your macro to work on the sheet where you created the macro, at the very least.

What has not been said before is that a workbook can accommodate any number of VBA modules and a module can accommodate any number of Sub and Function procedures. This information is merely academic.

This knowledge becomes important when you have more than one procedure in a module, several modules in the workbook, and more than just one worksheet in a workbook. The questions are: which macro will have an effect in which module, and is it possible for one macro to work in more than one module, or even in several sheets?

All depending on what you want to achieve with your macro, you can set the scope of a procedure with certain keywords...