No puedo decirle la cantidad de veces que he recibido datos sin procesar de algún programa o de alguna persona, y lo primero que debo hacer es eliminar los duplicados de la lista. Si se encuentra en la misma situación, la siguiente macro será de gran ayuda:

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

La macro funciona en una selección que realiza antes de llamarla. Por lo tanto, si necesita eliminar celdas duplicadas del rango C15: C59, simplemente seleccione ese rango y luego ejecute la macro. Si selecciona más de una columna en el rango (por ejemplo, C15: E59), solo se verá afectada la primera columna del rango. Cuando se completa la macro, se eliminan las celdas duplicadas, al igual que cualquier celda en blanco.

_Nota: _

Si desea saber cómo usar las macros descritas en esta página (o en cualquier otra página de los sitios ExcelTips), he preparado una página especial que incluye información útil.

link: / excelribbon-ExcelTipsMacros [Haga clic aquí para abrir esa página especial en una nueva pestaña del navegador].

ExcelTips es su fuente de formación rentable en Microsoft Excel.

Este consejo (2109) se aplica a Microsoft Excel 97, 2000, 2002 y 2003.