Necesito ayuda con la rutina de buscar y reemplazar en un rango de Microsoft Excel

Hola a todos lo expertos... Tengo una inquietud.. Tengo la siguiente rutina
Para buscar y replazar en un rango...
Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo fin
Application.ScreenUpdating = False
If Target.Address(False, False) = "A1" And Target.Value <> "" Then
rgo = "E1:E100"
crit1 = Target.Value
crit2 = "."
Application.DisplayAlerts = False
Set busco = ActiveSheet.Range(rgo).Find(crit1)
If Not (busco) Is Nothing Then
Range(rgo).Replace What:=crit1, Replacement:=crit2, LookAt:=xlWhole, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
Range("A1").Select
Selection.Insert Shift:=xlDown
ActiveCell.Value = Target.Value
End If
Set busco = Nothing
Range("A1") = ""
Range("A1").Select
End If
fin:
End Sub
Bueno lo que hace es buscar y reemplazar como le dije, lo que yo busco es que me borre el contenido de la fila próxima... Ej...
Si en E11 encuentra y modifica por el "." que borre lo que hay en F11... Y así con todas las considencias que encuentre... Se entiende... Si en E56 encuentra y modifa que a la ves borre lo que hay en F56...
Desde ya muchas gracias a los expertos de excel.
Ricardo

1 Respuesta

Respuesta
1
Las lineas de código son fáciles serían estas ( acomodalás a tus celdas):
If Range("E11").Value = "Aquí pones lo que necesites que encuentre en el valor de E11 'busque" Then
ActiveCell.Offset(1,0).Select
Selection.EntireRow.Delete
End If
>Un saludo
>Julio
Hola .. muchas gracias por contestar...
No entiendo las lineas que me mandaste...
If Range("E11").Value = "Aquí pones lo que necesites que encuentre en el valor de E11 'busque" Then
ActiveCell.Offset(1,0).Select   (esta rutina que hace??)
Selection.EntireRow.Delete  (bueno esta creo que borra la seleccion actual...es asi??)
End If
¿Osea la rutina para buscar ya la tengo y esta que me pasas en que parte la pondrías vos...?
Yo lo que quiero es que a la ves que modifique una celda me borre la siguiente Ej.
Si modifica A11, que borre lo de B11.. ¿se entiende...?
Gracias...
Lo que te quería explicar es que la linea de código decía que si en E11 su valor es "X" que la siguiente Fila la borre. Pero ya veo que es la celda lo que quieres borrar, pues entonces es en tu ejemplo:
If Range("E11").Value = crit2 Then
'La siguiente linea lo que hace es desplazarse de la celda aciva a 1 fila hacia abajo y se queda en la misma columna, con numeros negativos va hacia arriba en las filas, Para desplazarte hacia la derecha en columnas son numeros positivos, para ir a la izquierda numeros negativos.
ActiveCell.Offset(0,1).Select
ActiveCell. Clear
>Un saludo
>Julio

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas