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)

Declaring variables

Before confusing you with the definition of what a variable is, it helps a lot to first understand where and how variables can be used. Let's use the following example.

Imagine you are capturing data on a standard Excel spreadsheet. The fields expect users to enter their name, the department they work in, and age, all on Sheet1 of a workbook. The captured data must then be stored on a separate sheet, most likely Sheet2 of the same workbook.

The longest, most difficult way of doing that would be to copy the data from Sheet1 and paste it manually into Sheet2. It is quite clear that automation would save a lot of time.

The question is how to achieve this automation. Without some way of automatically copying and then storing that data somehow, somewhere, and then pasting it in the new position, you will never get around to doing any other work than just that.

Automation would be something like the following. You enter your details on Sheet1, and then...