How to avoid duplicate entries in Excel using Countif in VBA

How to avoid duplicate entries in an Excel worksheet using the COUNTIF function in VBA. Here we have two options:
1. We warn the user of the duplicate entry and remove the entry automatically
2. We only inform the user of the duplicate entry. It is up to him to take remedial action if required

Watch the training video:

You can also learn about the countif function in VBA by watching this video on YouTube.

Here’s the complete VBA code:

Private Sub Worksheet_Change(ByVal Target As Range)
If Application.CountIf(Range(“E:E”), Target) > 1 Then
‘MsgBox “Duplicate data!”, vbCritical, “Remove Data”
MsgBox “Duplicate entry!”, vbInformation, “Change Entry”
‘Target.Value = “”
End If

End sub

Further reading:

Countif function

Avoid Duplicate Entries in Excel

Generate Test Paper from Question Bank Using Excel VBA

Published by

Dinesh Kumar Takyar

Welcome to! My aim is to help you learn MS Excel including VBA. I always felt that a good way to learn something was to find solutions to problems in that domain. That is why I share these Excel videos with you. Mostly these are questions asked during my corporate training sessions. I've been training individuals and companies in computers since 1991. I did my B. Sc. (Vordiplom), M. Sc. (Diplom) and Ph.D. (Dr. rer. nat.) from Hamburg, Germany. The best thing about solving some of my visitor's questions is that I also gain new insights. For more Excel VBA solutions you may like to visit my YouTube channel: For a structured Excel VBA training course online you can visit:

2 thoughts on “How to avoid duplicate entries in Excel using Countif in VBA”

  1. Sir, i want to find how many duplicate values are available in my excel sheet in msgbox by clicking on command button .

    Please give code for it

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.