Eliminar Filas VBA

14/08/2004 - 20:54 por Javier R | Informe spam
actualmente tengo el siguient ecodigo y lo quiero
complementar chequen:
Sub EliminarRepetidos()
contador = 0
Range("b1").Select
valor = ActiveCell.Value
ActiveCell.Offset(1, 0).Range("a1").Select
While ActiveCell.Value <> ""
If ActiveCell.Value = valor Then
'aqui quiero seleccionar toda la fila o cuando menos que
elimine las filas de dos columnas
'actualmente me esta posicionando en una celda y solo
elimina esa celda con el siguiente select
Selection.Delete Shift:=xlUp
contador = contador + 1
Else
valor = ActiveCell.Value
ActiveCell.Offset(1, 0).Range("a1").Select
End If
Wend
Respuesta = MsgBox("Se han encontrado " & contador & "
elementos repetidos", 1, "Número de repetidos")
End Sub
espero sus respuestas amigos.
Saludos
 

Leer las respuestas

#1 Juan Carlos Pérez
15/08/2004 - 01:08 | Informe spam
Para chequear un rango de celdas y eliminar filas que contengan un
determinado valor, yo lo haría de la siguiente forma

Sub Eliminar_Repetidos()
Dim Valor, f as long, contador as long, Respuesta
Valor = range("B1")
Contador = 0
For f = 1 to 100 'Aquí el rango de filas que quieras chequear, en este caso
de la 1 a la 100
if cells(f,1) = Valor then
rows(f).delete
contador = contador + 1
end if
Next f
Respuesta = MsgBox("Se han encontrado " & contador & " elementos
repetidos", 1, "Número de repetidos")

End Sub

No obstante, si tu código te funciona correctamente, a excepción de la
elilminación de la fila, puedes utilizar las instrucción:
Rows(activecell.row).delete en lugar de usar Selection.Delete
Shift:=xlUp

Esperando haberte sido de ayuda, te saluda cordialmente

Juan Carlos Perez
Asturias-España


"Javier R" escribió en el mensaje
news:649901c48230$29eff7d0$
actualmente tengo el siguient ecodigo y lo quiero
complementar chequen:
Sub EliminarRepetidos()
contador = 0
Range("b1").Select
valor = ActiveCell.Value
ActiveCell.Offset(1, 0).Range("a1").Select
While ActiveCell.Value <> ""
If ActiveCell.Value = valor Then
'aqui quiero seleccionar toda la fila o cuando menos que
elimine las filas de dos columnas
'actualmente me esta posicionando en una celda y solo
elimina esa celda con el siguiente select
Selection.Delete Shift:=xlUp
contador = contador + 1
Else
valor = ActiveCell.Value
ActiveCell.Offset(1, 0).Range("a1").Select
End If
Wend
Respuesta = MsgBox("Se han encontrado " & contador & "
elementos repetidos", 1, "Número de repetidos")
End Sub
espero sus respuestas amigos.
Saludos

Preguntas similares