Excel - eliminar filas repetidas segun condición

 
Vista:

eliminar filas repetidas segun condición

Publicado por liliana (18 intervenciones) el 20/03/2013 23:19:19
Hola buen día

Agradezco mucho la colaboración que siempre me han brindado, esta vez vuelvo con una pregunta.

1.Necesito eliminar de una tabla las filas que se encuentran repetidas, y solo dejar un dato de estos.
2. Hay 1 dato que es la palabra vació que se repite varias veces en la tabla y este no necesito eliminarlo.

Tengo una macro que utilice de internet que elimina las filas repetidas con un count if (ya que es mayor a 1), pero tambien me elimina las que dicen vacio y estas necesito dejarlas

Adjunto el código, i

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Const intNúmCol As Integer = 3
'Se procesará la columna c
 
Sub BorrarDuplicados()
Dim wksH As Worksheet
Dim lngContFila As Long
Set wksH = Worksheets("Hoja1") 'Hoja que se procesará
 
lngContFila = 12 'fila desde la cual se desea evaluar los datos repetidos
 
While Not IsEmpty(wksH.Cells(lngContFila, intNúmCol))
If Application.WorksheetFunction.CountIf(wksH.Columns(intNúmCol), wksH.Cells(lngContFila, intNúmCol)) > 1 Then
 
wksH.Cells(lngContFila, intNúmCol).EntireRow.Delete
Else
lngContFila = lngContFila + 1
End If
 
Wend
 
Set wksH = Nothing
End Sub


Intente colocar: antes de empezar la cuenta de los repetidos quise que entrara a verificar si era diferente a vacio para que empiece si es diferente entre al ciclo coun if y ahi si borrar pero se queda trabado el ciclo.
1
2
For filas 12 to 40 then
If Cells(fila, 3).Value <> vacio Then



Agradezco muchisimo su ayuda
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

eliminar filas repetidas segun condición

Publicado por jcs (494 intervenciones) el 21/03/2013 09:22:25
Muy buenas.

Creo que una pequeña modificación te puede servir:

Const intNúmCol As Integer = 3
'Se procesará la columna c

Sub BorrarDuplicados()
Dim wksH As Worksheet
Dim lngContFila As Long
Set wksH = Worksheets("Hoja1") 'Hoja que se procesará

lngContFila = 12 'fila desde la cual se desea evaluar los datos repetidos

While Not IsEmpty(wksH.Cells(lngContFila, intNúmCol))
If wksH.Cells(lngContFila, intNúmCol) <> "vació" And Application.WorksheetFunction.CountIf(wksH.Columns(intNúmCol), wksH.Cells(lngContFila, intNúmCol)) > 1 Then

wksH.Cells(lngContFila, intNúmCol).EntireRow.Delete
Else
lngContFila = lngContFila + 1
End If

Wend

Set wksH = Nothing
End Sub

Un saludo. Juanjo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

eliminar filas repetidas segun condición

Publicado por liliana (18 intervenciones) el 21/03/2013 19:18:39
Hola Muchisimas gracias, funciona muy bien
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

eliminar filas repetidas segun condición

Publicado por Maxi (1 intervención) el 31/01/2014 14:33:24
consulta, como cambiaria la formula si lo que yo quiero es eliminar la fila completa pero si se repiten valores en la columna b c y d, es decir ....
B C D
DEBE Haber Leyenda
1050 500 ch 1050
500 642 Ch 2000
500 1050 Ch 1050.

Lo que yo quiero es que se elimina una sola fila que contenga valores cruzados en el debe y en el haber y que tengan la misma leyenda, en este caso ch 1050.

Les agradeceria mucho la respuesta.
saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar