Ayuda para seleccionar celda con macro

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 celda en donde encontró el folio y que la seleccione para que en esa columna me guarde los nuevos datos que deseo que queden registrados en ese folio.
Mi 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) & "."
****************
  'aquí es en donde tengo mi duda, como hacer para que me seleccione la celda donde encontró el valor y que en esa fila me guarde los nuevos datos por ejemplo:
El folio a buscar es: 100 y me muestra la siguiente información:
Folio fecha cliente importe iva total
100 05-10-09 cliente 1 $1000 $150 $1,150
Entonces lo que pretendo con esta macro una vez que encuentre el dato me reemplace por los datos que especifico en mi plantilla, y que viene especificado en el código posterior,
las modificaciones quedarían de la siguiente manera:
Folio fecha cliente importe iva total
100         05-10-09   cancelada          $0                 $0             $0
*******************************
    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("plantilla").Range("l2").Value
Range("b" & i).Value = Worksheets("plantilla").Range("l8").Value
Range("C" & i).Value = Worksheets("plantilla").Range("e11").Value
Range("d" & i).Value = Worksheets("plantilla").Range("l46").Value
Range("e" & i).Value = Worksheets("plantilla").Range("l48").Value
Range("f" & i).Value = Worksheets("plantilla").Range("l50").Value
Range("g" & i).Value = Worksheets("plantilla").Range("B1").Value
Range("h" & i).Value = Worksheets("plantilla").Range("B2").Value
Range("i" & i).Value = Worksheets("plantilla").Range("Q5").Value
Range("j" & i).Value = Worksheets("plantilla").Range("Q8").Value
Range("k" & i).Value = Worksheets("plantilla").Range("Q11").Value
Range("l" & i).Value = Worksheets("plantilla").Range("b3").Value
Sheets("plantilla").Select
Range("b18:i40").Select
Selection.ClearContents
MsgBox "Se guardo correctamente la factura", vbInformation, " Facnetov 2009 "
Range("e11").Select
    End If
End Sub
Agradezco su atención y muchas gracias
Buen día

1 Respuesta

Respuesta
1
A partir de aquí;
MsgBox "Folio encontrado:  " & UCase(folio_a_buscar) & "."
****************
Podes seleccionar o guardar la referencia del dato encontrado con alguna de estas opciones:
n.select    'selecciona el registro encontrado
fila = n.Row    'guarda en variable el nro de fila del dato encontrado
col = n.Column     'guarda en variable el nro de col del dato encontrado
dire = n.Address   'guarda en variable la dirección del dato encontrado
Creo que estas instrucciones resolverán tu problema. No olvides finalizar la consulta
En verdad he quedado sorprendido ! Mil gracias de hecho la primer parte del código, lo consulte de una aclaración que ud. había hecho anteriormenmte, solo que tenia duda en esa linea para guardar, de hecho había buscado en sus ejemplos de macros y manuales, hace tiempo que consulto sus manuales y la verdad están muy bien agradezco el tiempo para mi petición en hora buena mis felicitaciones para Ud. por ser tan amable de compartirnos su conocimiento, Gracias. =)

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas