Eliminiar duplicados de una hoja???

26/01/2006 - 12:46 por Sergio | Informe spam
Es posible eliminiar las celdas duplicadas de una columna?? Si se puede, es a
traves de fórmula o con una macro? Alguien me puede ayudar?

Gracias y saludos

Preguntas similare

Leer las respuestas

#1 victorbcn1952NO
26/01/2006 - 13:31 | Informe spam
Una forma de hacerlo: si tus datos están en la columna A, a partir de A1,
pon esta fórmula en B1:

=CONTAR.SI(A:A;A1)

y cópiala hasta la celda donde tengas la última cifra en la columna A. Si
te aparece 1, quiere decir que el número de la columna A no está
duplicado. Si te aparece otra cifra, es el número de veces que se repite
aquel número. Ahora puedes hacer un filtro personalizado de los registros
'no iguales' a 1 en la columna B, y cepillarte todas esas filas.

:-)



Sergio wrote:

Es posible eliminiar las celdas duplicadas de una columna?? Si se puede, es


a
traves de fórmula o con una macro? Alguien me puede ayudar?

Gracias y saludos
Respuesta Responder a este mensaje
#2 Sergio
26/01/2006 - 14:01 | Informe spam
Gracias Victor, pero eso no me eliminará tb el valor original? Es decir, si
tengo la fila con duplicados iagual a 1-2-3-3-4-5, y utilizao esa fórmula, no
me borrará todos los 3? Dejándome la hoja como 1-2-4-5?

"Víctor" wrote:

Una forma de hacerlo: si tus datos están en la columna A, a partir de A1,
pon esta fórmula en B1:

=CONTAR.SI(A:A;A1)

y cópiala hasta la celda donde tengas la última cifra en la columna A. Si
te aparece 1, quiere decir que el número de la columna A no está
duplicado. Si te aparece otra cifra, es el número de veces que se repite
aquel número. Ahora puedes hacer un filtro personalizado de los registros
'no iguales' a 1 en la columna B, y cepillarte todas esas filas.

:-)



Sergio wrote:

> Es posible eliminiar las celdas duplicadas de una columna?? Si se puede, es
a
> traves de fórmula o con una macro? Alguien me puede ayudar?

> Gracias y saludos



Respuesta Responder a este mensaje
#3 KL
26/01/2006 - 14:16 | Informe spam
Hola Sergio,

Varias opciones.

1) Manual usando el Filtro Avanzado (considera duplicadas dos registros solo si todas los campos en ambas coinciden)
-Dentro de tu archivo introduce una hoja nueva o activa una en blanco ya
existente.
-Ve al menu Datos>Filtro>Filtro avanzado
-Marca la opcion "Copiar a otro sitio"
-Pon el cursor en la primera casilla, ve a la hoja donde tienes los datos
y selecciona toda la tabla
-Pon el cursor en la tercera casilla, vuelve a la hoja en blanco (a donde
copiaras los datos depurados) y selecciona una celda (digamos A1)
-Marca la opcion "Solo registros unicos"
-Pulsa Aceptar.

2) Filtro Avanzado por macro.
Coloca el siguiente codigo en un modulo estandar de tu libro. Ejecutalo desde la hoja que contiene los datos a filtrar.

'-inicio del codigo--
Sub EliminarDuplicados()
Dim ws As Worksheet, rng As Range
Application.ScreenUpdating = False
With ActiveWorkbook
'Puedes indicar el rango expresamente
'si no quieres usar el UsedRange.
Set rng = .ActiveSheet.UsedRange
On Error Resume Next
Set ws = .Worksheets("Datos Filtrados")
On Error GoTo 0
If ws Is Nothing Then
Set ws = .Worksheets.Add(After:=.ActiveSheet)
ws.Name = "Datos Filtrados"
Else
ws.UsedRange.Clear
End If
rng.AdvancedFilter Action:=xlFilterCopy, _
CopyToRange:=ws.Range("A1"), Unique:=True
End With
Application.ScreenUpdating = True
End Sub
'-fin del codigo--

3) Macro que se basa solo en el primer campo de la tabla. Ojo - este codigo modifica los datos originales.
Coloca el siguiente codigo en un modulo estandar de tu libro. Ejecutalo desde la hoja que contiene los datos a filtrar.

Sub EliminarDuplicados()
Dim fila As Long, UFila As Long, rng As Range
With Application
.ScreenUpdating = False
.EnableEvents = False
.Calculation = xlCalculationManual
End With
With ActiveSheet
Set rng = .Range(.[A1], .[A65536].End(xlUp))
UFila = rng.Rows.Count
For fila = UFila To 1 Step -1
If WorksheetFunction.CountIf(rng, rng(fila)) > 1 Then
.Rows(fila).Delete
End If
Next fila
End With
With Application
.ScreenUpdating = True
.EnableEvents = True
.Calculation = xlCalculationAutomatic
End With
End Sub

4) Se podria hacer por formulas tabien pero seria contraproducente en tablas mayores a 10 registros x 5 campos ya que llevaria mucho
tiempo el recalculo y habria necesidad de copiar formulas a mas celdas cada vez que se introduzca nuevo registro. Si quieres unos
ejemplos, revisa la siguiente hoja:
http://www.telefonica.net/web/kl/SS...Values.xls

Saludos,
KL



"Sergio" wrote in message news:
Es posible eliminiar las celdas duplicadas de una columna?? Si se puede, es a
traves de fórmula o con una macro? Alguien me puede ayudar?

Gracias y saludos
Respuesta Responder a este mensaje
#4 victorbcn1952NO
26/01/2006 - 15:00 | Informe spam
Tienes razón; habría que rehacer la fórmula de B1 así (suponiendo que no
tengas más de 15.000 registros):

=CONTAR.SI(A1:A$15000;A1)

Es otra alternativa a las soluciones de KL.

:-)


Sergio wrote:

Gracias Victor, pero eso no me eliminarà¡ tb el valor original? Es decir, si
tengo la fila con duplicados iagual a 1-2-3-3-4-5, y utilizao esa fórmula,


no
me borrarà¡ todos los 3? Dejà¡ndome la hoja como 1-2-4-5?

"Và­ctor" wrote:

> Una forma de hacerlo: si tus datos està¡n en la columna A, a partir de A1,
> pon esta fórmula en B1:
>
> =CONTAR.SI(A:A;A1)
>
> y cópiala hasta la celda donde tengas la àºltima cifra en la columna A. Si
> te aparece 1, quiere decir que el nàºmero de la columna A no està¡
> duplicado. Si te aparece otra cifra, es el nàºmero de veces que se repite
> aquel nàºmero. Ahora puedes hacer un filtro personalizado de los registros
> 'no iguales' a 1 en la columna B, y cepillarte todas esas filas.
>
> :-)
>
>
>
> Sergio wrote:
>
> > Es posible eliminiar las celdas duplicadas de una columna?? Si se puede,


es
> a
> > traves de fàƒÂ³rmula o con una macro? Alguien me puede ayudar?
>
> > Gracias y saludos
>
>
>
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida