by Allen Wyatt
(last updated April 12, 2014)
I can't tell you the number of times I have received raw data from some program or from some person, and the first thing I need to do is remove duplicates from the list. If you find yourself in the same situation, the following macro will be a huge help:
Sub DelDups() Dim rngSrc As Range Dim NumRows As Integer Dim ThisRow As Integer Dim ThatRow As Integer Dim ThisCol As Integer Dim J As Integer, K As Integer Application.ScreenUpdating = False Set rngSrc = ActiveSheet.Range(ActiveWindow.Selection.Address) NumRows = rngSrc.Rows.Count ThisRow = rngSrc.Row ThatRow = ThisRow + NumRows - 1 ThisCol = rngSrc.Column 'Start wiping out duplicates For J = ThisRow To (ThatRow - 1) If Cells(J, ThisCol) > "" Then For K = (J + 1) To ThatRow If Cells(J, ThisCol) = Cells(K, ThisCol) Then Cells(K, ThisCol) = "" End If Next K End If Next J 'Remove cells that are empty For J = ThatRow To ThisRow Step -1 If Cells(J, ThisCol) = "" Then Cells(J, ThisCol).Delete xlShiftUp End If Next J Application.ScreenUpdating = True End Sub
The macro works on a selection you make before calling it. Thus, if you need to remove duplicate cells from the range C15:C59, simply select that range and then run the macro. If you select more than a single column in the range (for instance, C15:E59), then only the first column in the range is affected. When the macro is complete, the duplicate cells are removed, as are any blank cells.
ExcelTips is your source for cost-effective Microsoft Excel training. This tip (2109) applies to Microsoft Excel 97, 2000, 2002, and 2003.
Comprehensive VBA Guide Visual Basic for Applications (VBA) is the language used for writing macros in all Office programs. This complete guide shows both professionals and novices how to master VBA in order to customize the entire Office suite for their needs. Check out Mastering VBA for Office 2010 today!
If you need to delete a cell, the Delete key won't do it. (That only clears the contents of a cell; it doesn't delete the ...Discover More
Need to get rid of everything in a worksheet except the formulas? It's easier to make this huge change than you think it is.Discover More
Got a list of data from which you want to delete duplicates? There are a couple of techniques you can use to get rid of ...Discover More
FREE SERVICE: Get tips like this every week in ExcelTips, a free productivity newsletter. Enter your address and click "Subscribe."
Got a version of Excel that uses the menu interface (Excel 97, Excel 2000, Excel 2002, or Excel 2003)? This site is for you! If you use a later version of Excel, visit our ExcelTips site focusing on the ribbon interface.