How to Save as XLSX Using Excel VBA in Just 3 Minutes

Written by Kasper Langmann

Excel Visual Basic for Applications (VBA) is a powerful tool that can automate and enhance your experience with Excel. One of the many tasks you can accomplish with VBA is saving your workbook in the XLSX format. This article will guide you through the process in just three minutes.

Understanding Excel VBA

Before diving into the process of saving a workbook as XLSX using VBA, it’s crucial to understand what Excel VBA is. VBA, or Visual Basic for Applications, is a programming language developed by Microsoft. It’s used within Microsoft Office applications to automate routine tasks, which can significantly boost your productivity.

Excel VBA is particularly powerful because it allows you to create macros, or sets of instructions, that Excel can execute. These macros can perform a wide range of tasks, from simple actions like copying and pasting data to more complex operations like data analysis and report generation.

The Importance of VBA in Excel

VBA is an integral part of Excel, especially for those who regularly work with large amounts of data. It can automate repetitive tasks, reducing the risk of errors and saving you a significant amount of time. Additionally, VBA can be used to create custom functions and formulas, further enhancing Excel’s capabilities.

Moreover, VBA can interact with other Microsoft Office applications, such as Word and Outlook. This means you can create macros that automate tasks across multiple applications, streamlining your workflow even further.

Getting Started with Excel VBA

To use Excel VBA, you’ll first need to enable the Developer tab in Excel. This tab is where you’ll find the tools you need to create, manage, and run your VBA macros. To enable the Developer tab, right-click anywhere on the Excel ribbon, select ‘Customize the Ribbon’, and then check the ‘Developer’ box.

Once you’ve enabled the Developer tab, you can start creating your macros. To do this, click on the ‘Visual Basic’ button on the Developer tab. This will open the VBA editor, where you can write and edit your VBA code.

Writing Your First Macro

Writing a macro in VBA may seem daunting if you’re new to programming, but don’t worry. The language is designed to be easy to learn and use, even for beginners. To get started, you’ll need to create a new module in the VBA editor. A module is simply a container for your VBA code.

Once you’ve created your module, you can start writing your macro. A macro is just a set of instructions that tells Excel what to do. For example, a simple macro might tell Excel to copy data from one cell and paste it into another.

Saving as XLSX Using Excel VBA

Now that you understand the basics of Excel VBA, let’s move on to the main topic: saving a workbook as XLSX using VBA. The process is surprisingly simple and can be accomplished in just a few lines of code.

The first step is to open the VBA editor and create a new module, as described in the previous section. Once you’ve done that, you can write your macro.

Writing the Macro

The macro for saving a workbook as XLSX is straightforward. Here’s what the code looks like:

Sub SaveAsXLSX()
    ActiveWorkbook.SaveAs Filename:="YourPathYourFileName.xlsx", FileFormat:=xlOpenXMLWorkbook
End Sub

In this code, ‘YourPath’ is the path where you want to save the workbook, and ‘YourFileName’ is the name you want to give to the workbook. The ‘FileFormat:=xlOpenXMLWorkbook’ part tells Excel to save the workbook in the XLSX format.

To run the macro, simply press F5 while in the VBA editor or click the ‘Run’ button on the toolbar. Excel will then save the current workbook as an XLSX file in the specified location.

Understanding the Code

While the code for saving a workbook as XLSX is simple, it’s worth taking a moment to understand what each part does. This will not only help you troubleshoot any issues that might arise but also enable you to modify the code to suit your needs.

The ActiveWorkbook Object

The ‘ActiveWorkbook’ part of the code refers to the workbook that is currently active in Excel. This could be the workbook you’re working on or a workbook that you’ve opened using VBA. By using the ActiveWorkbook object, the macro can work with any workbook, not just the one where the macro is stored.

The SaveAs Method

The ‘SaveAs’ method is what actually saves the workbook. This method has several parameters, including ‘Filename’ and ‘FileFormat’. The ‘Filename’ parameter specifies the name and location of the saved workbook, while the ‘FileFormat’ parameter determines the format in which the workbook is saved.

The xlOpenXMLWorkbook Constant

The ‘xlOpenXMLWorkbook’ constant is used to specify the XLSX format. This constant is part of the XlFileFormat enumeration, which includes constants for all the file formats that Excel can save workbooks in. By using this constant, you’re telling Excel to save the workbook in the XLSX format.


Excel VBA is a powerful tool that can automate a wide range of tasks in Excel, including saving workbooks in the XLSX format. While the process may seem complex at first, it becomes straightforward once you understand the basics of VBA and the Excel object model. With a bit of practice, you’ll be able to create your own macros and automate your Excel tasks in no time.