Macro que elimina las celdas que le preceden

Tengo poca experiencia en las macros por lo cual necesito la ayuda de algún experto con mi problema, tengo una macro que me elimina los datos repetidos de una fila pero quiero que me elimine también los datos que tiene en las siguientes tres columnas, lo que quiero decir es que tengo unos datos repetidos en la columna A y las columnas b y C tienen datos que corresponden a los datos repetidos quiero que me elimine los repetidos de A y sus datos que le corresponden de B Y C.

Les agradeceré mucho esta ayuda

1 Respuesta

Respuesta
1
Te digo algo para todos los usuarios que pudieran leer esta consulta: cuando tienen una rutina debieran dejarla escrita aquí para que podamos ajustarla directamente y no desarrollar una distinta.
Bien, seguramente tu rutina tiene una línea que dice: Activecell. delete y debiera decir:
Activecell.EntireRow.Delete   (esto te borrará la fila completa)
Cualquier diferencia volveme a escribir.
Saludos
Elsa
http://es.geocities.com/lacibelesdepunilla/manual_VBA
Antes que nada te agradezco la atención mira la linea que tengo es Selection.EntireRow. Delete la cual solo me borra la celda donde se encuntran los datos repetidos lo que necesito es que me borre la celda de 3 columnas (A, B y C),no toda la fila ya que en las de mas columnas hay informacion, e decir que meborre las repetidas de la columna A y los datos que le corresponden de B y C, el codigo que tengo es el siguiente:
ActiveSheet.Range("a2").Activate
valor = ActiveCell.Value
ActiveCell.Offset(2, 0).Range("A2").Select
While ActiveCell.Value <> ""
If ActiveCell.Value = valor Then
Selection.EntireRow.Delete
Else
valor = ActiveCell.Value
ActiveCell.Offset(1, 0).Range("A1").Select
End If
Wend
End Sub
De antemano gracias por la ayuda
Lo que hace tu rutina es eliminar toda la fila de la celda duplicada. (EntireRow. Delete).
Si lo que necesitas es que solo te borre las celdas de 3 col (el resto de la fila no), entonces reemplazá la línea:
Selection.EntireRow.Delete
por estas otras 2:
Range(Selection, Selection.offset(0,2).Select
Selection.Delete
Saludos y confirmame si esto resuelve tu consulta.
Elsa
http://galeon.com/aplicaexcel
http://es.geocities.com/lacibelesdepunilla
Nuevamente muchas gracias por la ayuda, si funciona pero hay un problema si el registro se repite más de dos veces aumenta el numero de columnas que elimna por ejemplo si el registro se encuentra 4 veces en vez de eliminarme 3 columnas me elimna 6. es como si se sumara 2 columnas más el numero de veces que se encuentra el registro
Estoy tratando de solucionar esto con un contador y restandolo. Pero no me elimina todas las repetidas.
Ojala me puedas ayudar te agradezco de antemano tu ayuda.
Aquí te dejo la rutina completa:
Sub Macro4()
ActiveSheet.Range("a2").Activate
valor = ActiveCell.Value
ActiveCell.Offset(2, 0).Range("A2").Select
While ActiveCell.Value <> ""
If ActiveCell.Value = valor Then
Range(Selection, Selection.Offset(0, 2)).Select
Selection.Delete
'se vuelve a posicionar en col A
Cells(Selection.Row, 1).Select
Else
valor = ActiveCell.Value
ActiveCell.Offset(1, 0).Range("A1").Select
End If
Wend
End Sub
Saludos y confirmame si esto resuelve tu consulta.
Elsa
http://galeon.com/aplicaexcel
http://es.geocities.com/lacibelesdepunilla

Añade tu respuesta

Haz clic para o
El autor de la pregunta ya no la sigue por lo que es posible que no reciba tu respuesta.

Más respuestas relacionadas