¿Cómo EDITAR información previamente guardada en hojas combinadas en Excel?

Para DANTE AMOR:

Hola estimado experto, tengo en mi libro de excel una hoja llamada EDICIÓN, en la misma se ejecuta una macro que me levanta toda la información de una ORDEN previamente guardada, el caso es que una vez con la información disponible para editar yo necesito una macro que me guarde el nuevo dato justo sobre el que tenia previamente guardado.

Todos los datos son modificables excepto, el número de orden y la fecha! AYUDA!

1 respuesta

Respuesta
1

Te anexo el código

Sub Editar_Datos()
'Por.Dante Amor
    '
    Set h1 = Sheets("EDICIÓN")
    Select Case h1.Range("A5")
        Case "ORDEN DE COMPRA"
            Set h3 = Sheets("REPORTE OC")
            Set h4 = Sheets("DETALLE OC")
        Case "ORDEN DE SERVICIO"
            Set h3 = Sheets("REPORTE OS")
            Set h4 = Sheets("DETALLE OS")
        Case "FUNCIONAMIENTO"
            Set h3 = Sheets("REPORTE NOM")
            Set h4 = Sheets("DETALLE NOM")
        Case Else
            MsgBox "Revisa el tipo de orden en la celda A5"
            Exit Sub
    End Select
    '
    n_orden = h1.[K1]
    If n_orden = "" Then
        MsgBox "Falta el número de orden"
        Exit Sub
    End If
    '
    Set b = h3.Columns("A").Find(n_orden, lookat:=xlWhole)
    If b Is Nothing Then
        MsgBox "El número de orden no existe"
        Exit Sub
    End If
    '
    'PARA EL REPORTE
    fila = b.Row
    h3.Cells(fila, 3).Value = h1.Range("L118")
    h3.Cells(fila, 4).Value = h1.Range("A11")
    h3.Cells(fila, 5).Value = h1.Range("C13")
    h3.Cells(fila, 6).Value = h1.Range("B6")
    h3.Cells(fila, 7).Value = h1.Range("B7")
    h3.Cells(fila, 8).Value = h1.Range("B9")
    h3.Cells(fila, 9).Value = h1.Range("B8")
    '
    'CODIGO PARA EL DETALLE OC
    u = h4.Range("A" & Rows.Count).End(xlUp).Row
    'Borrar los registros anteriores
    For j = u To 9 Step -1
        largo = Len(n_orden)
        If Val(Right(h4.Cells(j, "A"), largo)) = n_orden Then
            h4.Rows(j).Delete
        End If
    Next
    '
    i = 15
    u = h4.Range("A" & Rows.Count).End(xlUp).Row + 1
    Do While h1.Cells(i, "A") <> ""
        h4.Cells(u, 1).Value = h1.Cells(i, "M") & n_orden
        H4.Cells(u, 2).Value = h1.Cells(i, "M")
        H4.Cells(u, 3).Value = h1.Cells(i, "A")
        H4.Cells(u, 4).Value = h1.Cells(i, "B")
        H4.Cells(u, 5).Value = h1.Cells(i, "D")
        H4.Cells(u, 6).Value = h1.Cells(i, "E")
        H4.Cells(u, 7).Value = h1.Cells(i, "J")
        H4.Cells(u, 8).Value = h1.Cells(i, "K")
        H4.Cells(u, 9).Value = h1.Cells(i, "L")
        '
        u = u + 1
        i = i + 1
    Loop
    MsgBox "LA  " & h1.Range("A5").Value & " FUE CREADA EXITOSAMENTE!", , "Dirección de Administración y Presupuesto"
    ActiveWorkbook.Save
End Sub
'S aludos. Dante Amor. Recuerda valorar la respuesta. G racias

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas