How To Delete duplicate records using VBA in Microsoft Excel?
Tags: todeleteduplicaterec, vbamacros
Published: 2021-09-29 04:55:31

---
title: How To Delete duplicate records using VBA in Microsoft Excel?
published: true
date: 2021-09-24 10:51:01 UTC
tags: ToDeleteDuplicateRec,VBAMacros
canonical_url: https://geekexcel.com/how-to-delete-duplicate-records-using-vba-in-microsoft-excel/
---

In this article, you will learn the simple steps to  **delete duplicate records using VBA** in Microsoft Excel. Let’s get them below!! Get an official version of MS Excel from the following link: **[https://www.microsoft.com/en-in/microsoft-365/excel](https://www.microsoft.com/en-in/microsoft-365/excel)**

## Example

- Firstly, you need to  **create a sample data** consists of **employee data** , which includes **Name, Age and Gender**.

![](https://geekexcel.com/wp-content/uploads/2021/09/Sample-data-41.png)<figcaption>Sample data</figcaption>

- In the Excel Worksheet, you have to go to the  **Developer Tab.**
- Then, you need to ** ** select the  **Visual Basic**  option under the  **Code**  section.

![Select Visual Basic](https://geekexcel.com/wp-content/uploads/2021/09/Select-Visual-Basic-9-1024x180.png)<figcaption>Select Visual Basic</figcaption>

- Now, you have to  **copy and paste the code**  given below.

```
Option Explicit
Sub RemovingDuplicate()
'Declaring variables
Dim i As Long
'Disabling screen updates
Application.ScreenUpdating = False
Range("A11").Select
ActiveSheet.Sort.SortFields.Clear
'Sorting data in ascending order
ActiveSheet.Sort.SortFields.Add Key:=Range(Selection.Address), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortTextAsNumbers
With ActiveSheet.Sort
    .SetRange Range(Selection.Offset(1, 0), ActiveSheet.Cells(Rows.Count, Selection.End(xlToRight).Column).End(xlUp))
    .Header = xlNo
    .MatchCase = False
    .Orientation = xlTopToBottom
    .SortMethod = xlPinYin
    .Apply
End With
'Looping through all the cells
For i = ActiveSheet.Cells(Rows.Count, Selection.Column).End(xlUp).Row To Selection.Row + 1 Step -1
    'Comparing value of two adjacent cells for duplicate records
    If ActiveSheet.Cells(i, Selection.Column).Value = ActiveSheet.Cells((i - 1), Selection.Column).Value Then
        'Delete the duplicate record
        ActiveSheet.Rows(i).Delete shift:=xlUp
    End If  
Next i
'Enabling screen updates
Application.ScreenUpdating = True
End Sub

```

- After that, you need to  **save the code**  by selecting it and then  **close the window**.

![](https://geekexcel.com/wp-content/uploads/2021/09/Save-the-Code-80-1024x565.png)<figcaption>Save the Code</figcaption>

- Again, you have to go to the  **Excel Spreadsheet** , and click on the  **Developer Tab**.
- You need to choose the  **Macros option**  in the Code section.

![Choose Macro option](https://geekexcel.com/wp-content/uploads/2021/09/Choose-Macro-option-11-1024x184.png)<figcaption>Choose Macro option</figcaption>

- Now, you have to make sure that your  **macro name is selected**  and click the  **Run ** button.

![](https://geekexcel.com/wp-content/uploads/2021/09/Run-the-Code-48.png)<figcaption>Run the Code</figcaption>

- Finally, you will get the **output as deleted duplicate records** in **Microsoft Excel**.

![](https://geekexcel.com/wp-content/uploads/2021/09/Output-39.png)<figcaption>Output</figcaption>

## Verdict

In the above article, you can learn the simple steps to **delete duplicate records using VBA** in Microsoft Excel. Kindly, share your  **feedback**  in the below comment section. Thanks for visiting **[Geek Excel.](https://geekexcel.com/)** Keep Learning!

**Read Also:**

- **[How to Change Font Color in Microsoft Excel 2007?](https://geekexcel.com/how-to-change-font-color-in-microsoft-excel-2007/)**
- **[Excel Formulas to Count specific word in a range ~ Easy Tutorial!!](https://geekexcel.com/excel-formulas-to-count-specific-words-in-a-range/)**
- **[Excel Formulas to Get the Last Word of a Text String ~ Quick Method!!](https://geekexcel.com/excel-formulas-to-get-the-last-word-of-the-text-string/)**
- **[Count the Times a Word Appears in a Cell or a Range in Excel Office 365!!](https://geekexcel.com/count-the-times-a-word-appears-in-a-cell-or-a-range-in-excel-office-365/)**
- **[Excel Formulas to Remove the Last Word ~ Easy Tutorial!!](https://geekexcel.com/excel-formulas-to-remove-the-last-word-easy-tutorial/)**