Ayuda en macro buscar y reemplazar
Que tal buenas tardes expertos, el motivo de mi mensaje es el siguiente, para ver si alguien seria tan amable de poder asesorarme en la siguiente duda.
Tengo una macro que me busca un folio en una hoja (que se llama consecutivo"), la macro me funciona bien para buscar, el problema es que una vez que encontró el folio no he podido perfeccionar la instrucción para que me seleccione la fila en donde se encuentra la celda que estaba buscando y que en esa fila me reemplace los nuevos cambios que realice, en esta macro me marca error al momento de seleccionar la varable "n" creo que ahí es en donde esta el error.
Ejemplo
Si yo busco el folio 85 me aparecen los siguientes datos:
Folio cliente importe iva total
85 cliente 1 10 5 10.50
Y lo quiero remplazar por lo siguientes datos:
Folio cliente importe iva total
85 cancelada 0 0 0
Espero puedan ayudarme muchas gracias
El código es el siguiente:
Sub buscar_y_guardar()
Dim n As Range
folio_a_buscar = InputBox("Ingresar el folio de la factura", "Buscador")
If folio_a_buscar = "" Then Exit Sub
Set n = Worksheets("consecutivo").Cells.Find(what:=folio_a_buscar)
If n Is Nothing Then
MsgBox "No existe el folio."
Else
MsgBox "Folio encontrado: " & UCase(folio_a_buscar) & "."
n.select 'selecciona el registro encontrado
fila = n.Row
Application.ScreenUpdating = False
ActiveSheet.Unprotect
Range("a11:g35").Select
Selection.Copy
Sheets("consecutivo").Select
Range("a65536").End(xlUp).Offset(0, 1).Select
i = ActiveCell.Row
Range("a" & i).Value = Worksheets("remplazar").Range("l2").Value
Range("b" & i).Value = Worksheets("remplazar").Range("l8").Value
Range("C" & i).Value = Worksheets("remplazar").Range("e11").Value
Range("d" & i).Value = Worksheets("remplazar").Range("l46").Value
Range("e" & i).Value = Worksheets("remplazar").Range("l48").Value
Range("f" & i).Value = Worksheets("remplazar").Range("l50").Value
Range("g" & i).Value = Worksheets("remplazar").Range("B1").Value
Range("h" & i).Value = Worksheets("remplazar").Range("B2").Value
Range("i" & i).Value = Worksheets("remplazar").Range("Q5").Value
Range("j" & i).Value = Worksheets("remplazar").Range("Q8").Value
Range("k" & i).Value = Worksheets("remplazar").Range("Q11").Value
Range("l" & i).Value = Worksheets("remplazar").Range("b3").Value
Sheets("remplazar").Select
Range("b18:i40").Select
Selection.ClearContents
MsgBox "Se guardo correctamente la factura", vbInformation, " Facnetov 2009 "
Range("e11").Select
End If
End Sub
Tengo una macro que me busca un folio en una hoja (que se llama consecutivo"), la macro me funciona bien para buscar, el problema es que una vez que encontró el folio no he podido perfeccionar la instrucción para que me seleccione la fila en donde se encuentra la celda que estaba buscando y que en esa fila me reemplace los nuevos cambios que realice, en esta macro me marca error al momento de seleccionar la varable "n" creo que ahí es en donde esta el error.
Ejemplo
Si yo busco el folio 85 me aparecen los siguientes datos:
Folio cliente importe iva total
85 cliente 1 10 5 10.50
Y lo quiero remplazar por lo siguientes datos:
Folio cliente importe iva total
85 cancelada 0 0 0
Espero puedan ayudarme muchas gracias
El código es el siguiente:
Sub buscar_y_guardar()
Dim n As Range
folio_a_buscar = InputBox("Ingresar el folio de la factura", "Buscador")
If folio_a_buscar = "" Then Exit Sub
Set n = Worksheets("consecutivo").Cells.Find(what:=folio_a_buscar)
If n Is Nothing Then
MsgBox "No existe el folio."
Else
MsgBox "Folio encontrado: " & UCase(folio_a_buscar) & "."
n.select 'selecciona el registro encontrado
fila = n.Row
Application.ScreenUpdating = False
ActiveSheet.Unprotect
Range("a11:g35").Select
Selection.Copy
Sheets("consecutivo").Select
Range("a65536").End(xlUp).Offset(0, 1).Select
i = ActiveCell.Row
Range("a" & i).Value = Worksheets("remplazar").Range("l2").Value
Range("b" & i).Value = Worksheets("remplazar").Range("l8").Value
Range("C" & i).Value = Worksheets("remplazar").Range("e11").Value
Range("d" & i).Value = Worksheets("remplazar").Range("l46").Value
Range("e" & i).Value = Worksheets("remplazar").Range("l48").Value
Range("f" & i).Value = Worksheets("remplazar").Range("l50").Value
Range("g" & i).Value = Worksheets("remplazar").Range("B1").Value
Range("h" & i).Value = Worksheets("remplazar").Range("B2").Value
Range("i" & i).Value = Worksheets("remplazar").Range("Q5").Value
Range("j" & i).Value = Worksheets("remplazar").Range("Q8").Value
Range("k" & i).Value = Worksheets("remplazar").Range("Q11").Value
Range("l" & i).Value = Worksheets("remplazar").Range("b3").Value
Sheets("remplazar").Select
Range("b18:i40").Select
Selection.ClearContents
MsgBox "Se guardo correctamente la factura", vbInformation, " Facnetov 2009 "
Range("e11").Select
End If
End Sub
1 Respuesta
Respuesta de santiagomf
1