How to Center Text in VBA: Master the Technique in 3 Minutes (Excel)

Written by Kasper Langmann

Visual Basic for Applications (VBA) is a powerful tool that can significantly enhance your Excel experience. One of the many things you can do with VBA is centering text in cells. This might seem like a simple task, but it is a crucial one, especially when you are dealing with large datasets and need to maintain a clean and organized look. In this guide, we will walk you through the process of centering text in VBA, a skill you can master in just three minutes.

Understanding VBA

Before we delve into the specifics of centering text in VBA, it’s important to understand what VBA is and why it’s so useful. VBA stands for Visual Basic for Applications. It’s a programming language developed by Microsoft that is used to automate tasks in Microsoft Office applications. VBA is particularly useful in Excel, where it can be used to automate complex tasks and calculations.

VBA is a versatile tool that can be used to automate a wide range of tasks. From simple tasks like formatting cells to more complex operations like creating custom functions and automating data analysis, VBA can do it all. However, to fully harness the power of VBA, you need to understand its syntax and how to write VBA code.

Why Center Text in VBA?

Centering text in cells is a common task in Excel. It’s often used to improve the readability and aesthetics of your spreadsheets. While you can manually center text in cells using Excel’s built-in tools, this can be time-consuming and inefficient, especially when dealing with large datasets. This is where VBA comes in. With VBA, you can automate the process of centering text, saving you time and effort.

Centering text in VBA is also useful when you need to apply the same formatting to multiple cells or ranges. Instead of manually applying the formatting to each cell or range, you can write a VBA script that applies the formatting automatically. This not only saves you time but also ensures consistency in your formatting.

How to Center Text in VBA

Writing the VBA Code

Centering text in VBA is a straightforward process. The first step is to open the VBA editor. You can do this by pressing Alt + F11 on your keyboard. Once the VBA editor is open, you can start writing your code.

The code for centering text in VBA is simple. Here’s an example:

Sub CenterText()
    Range("A1:B10").HorizontalAlignment = xlCenter
End Sub

In this code, “A1:B10” is the range of cells where you want to center the text. You can replace this with any range you want. The “xlCenter” is a constant that represents the center alignment. When this code is run, it will center the text in the specified range.

Running the VBA Code

After writing the code, the next step is to run it. To do this, you can press F5 on your keyboard or click on the “Run” button in the VBA editor. Once the code is run, it will center the text in the specified range.

It’s important to note that VBA code is case-sensitive. This means that you need to write the code exactly as it is. If there are any typos or errors in the code, it will not run properly.

Advanced Techniques for Centering Text in VBA

While the above code is sufficient for centering text in a specific range, there are more advanced techniques you can use to center text in VBA. For example, you can write a VBA script that centers text in all cells in a worksheet or in all worksheets in a workbook. You can also write a VBA script that centers text based on certain conditions.

These advanced techniques require a deeper understanding of VBA and its syntax. However, once you master them, you’ll be able to automate even more tasks in Excel, further enhancing your productivity and efficiency.


Centering text in VBA is a simple yet powerful technique that can greatly enhance your Excel experience. By automating the process of centering text, you can save time, improve the readability of your spreadsheets, and ensure consistency in your formatting. With just a few lines of code, you can master this technique in just three minutes.

Remember, VBA is a versatile tool that can be used to automate a wide range of tasks in Excel. By learning how to use VBA, you can take your Excel skills to the next level and become a more efficient and productive user.