How to Use VBA to Remove Duplicates Quickly in 3 Minutes (Excel)

Written by Kasper Langmann

Visual Basic for Applications (VBA) is a powerful tool that can be used to automate tasks in Microsoft Excel, including the removal of duplicate entries. This can save you a significant amount of time, especially when working with large datasets. In this guide, we will explore how to use VBA to quickly remove duplicates in Excel in just three minutes.

Understanding VBA

Visual Basic for Applications (VBA) is a programming language developed by Microsoft. It is primarily used for automating tasks in Microsoft Office applications. VBA is event-driven, meaning it can be triggered to run when certain events occur, such as a cell being updated or a button being clicked.

One of the most powerful features of VBA is its ability to interact with Excel’s object model. This means it can manipulate worksheets, ranges, cells, and other objects in Excel. This includes removing duplicate entries from a range of cells or an entire worksheet.

Why Use VBA?

VBA can significantly speed up your workflow in Excel. Instead of manually performing repetitive tasks, you can write a VBA script to do the work for you. This can save you a significant amount of time, especially when working with large datasets.

Another advantage of VBA is its flexibility. With VBA, you can automate almost any task in Excel, no matter how complex. This includes tasks that cannot be automated using Excel’s built-in features.

Removing Duplicates with VBA

Removing duplicates is a common task in Excel. Duplicates can occur for a variety of reasons, such as data entry errors or merging data from multiple sources. Regardless of the reason, duplicates can skew your data and lead to inaccurate results.

Fortunately, VBA provides a simple and efficient way to remove duplicates. In the following sections, we will walk you through the process step by step.

Step 1: Open the VBA Editor

The first step is to open the VBA editor. You can do this by pressing Alt + F11 on your keyboard. This will open a new window where you can write and run your VBA scripts.

If you can’t see the VBA editor, it might be because it’s disabled in your version of Excel. To enable it, go to the File menu, select Options, then Customize Ribbon, and check the box for Developer.

Step 2: Insert a New Module

Once the VBA editor is open, you need to insert a new module. A module is a container for your VBA code. To insert a new module, go to the Insert menu and select Module.

After inserting a new module, a blank window will appear on the right side of the VBA editor. This is where you will write your VBA script.

Step 3: Write the VBA Script

The next step is to write the VBA script that will remove duplicates. The script will use the RemoveDuplicates method, which is part of Excel’s object model.

The RemoveDuplicates method takes two arguments: an array of column numbers to consider when identifying duplicates, and a boolean value that specifies whether the first row contains headers.

Step 4: Run the VBA Script

Once you’ve written your VBA script, you can run it by pressing F5 on your keyboard or by clicking the Run button on the toolbar. If your script is written correctly, it will remove all duplicates from the specified range or worksheet.

If you encounter any errors while running your script, the VBA editor will highlight the line of code that caused the error. You can then modify your script to fix the error and run it again.


As you can see, using VBA to remove duplicates in Excel is a straightforward process that can save you a significant amount of time. While VBA might seem intimidating at first, with a bit of practice, you’ll be able to automate a wide range of tasks in Excel, making your work more efficient and accurate.

Remember, the key to mastering VBA is practice. So don’t be afraid to experiment with different scripts and see what they can do. Happy coding!