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)

Using worksheet functions

This recipe explains the use of worksheet functions in VBA. Despite the impressive list of built-in functions, you might sometimes find the need for one of the old favorites, such as sum, average, or even count. In fact, you can use most of Excel's worksheet functions, unless they have an equivalent VBA function.

Getting ready

With Functions.xlsm still open, type the following data into Sheet1:

Figure 8.5 – Data for worksheet functions

Once done, press Alt + F11 to activate the VBA Editor, and insert a new module.

How to do it…

Let's start with some of the most popular, or at least the most used, worksheet functions:

  1. Start a new Sub procedure and call it WorksheetFunctions.
  2. Declare variables for SumValues, AvgValue, and MaxValue with the following code:
    Sub WorksheetFunctions()
        Dim SumValues As Integer
        Dim AvgValue As Double
      ...