Debo generar un libro con varias hojas pero esas hojas se deben generar desde otro archivo

Para Dante Amor, debo generar un archivo con varias hojas pero esas hojas se deben generar desde otro archivo, seleccionando las celdas y poniendo en cada hoja el nombre existente en cada celda seleccionada y repetir ese nombre en una celda de la hoja nueva, junto con la cantidad seleccionada de ese item en el otro archivo y luego guardar ese libro con la fcha en curso

1 Respuesta

Respuesta
1

En un correo nuevo envíame tus archivo son ejemplos y la explicación de esos ejemplos.

R ecuerda poner tu nombre de usuario en el asunto del correo.

¡Gracias! 

Te anexo la macro

Sub OrdenDeTrabajo()
'Por.Dante Amor
'
    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
    Application.SheetsInNewWorkbook = 1
    '
    Set l1 = ThisWorkbook
    Set h11 = l1.Sheets("STOCK")
    Set h12 = l1.Sheets("Productos")
    Set h13 = l1.Sheets("Orden de Trabajo")
    Set l2 = Workbooks.Add
    h12.Range("A9:B200").ClearContents
    ruta = l1.Path & "\"
    nombre = "programa del " & Format(Date, "dd mmmm")
    caras = Array(":", "\", "/", "?", "*", "[", "]")
    j = 9
    '
    For i = 9 To h11.Range("A" & Rows.Count).End(xlUp).Row
        If h11.Cells(i, "D") < 0 Then
            cant = h11.Cells(i, "D") * -1
            desc = h11.Cells(i, "A")
            For k = LBound(caras) To UBound(caras)
                desc = Replace(desc, caras(k), "")
            Next
            h12.Cells(j, "A") = cant    'cant
            h12.Cells(j, "B") = desc    'desc
            h13.Copy after:=(l2.Sheets(l2.Sheets.Count))
            Set l21 = l2.ActiveSheet
            l21.Name = Left(desc, 29)   'desc
            l21.[B4] = Date             'fecha
            l21.[D5] = cant             'cant
            l21.[E5] = desc             'desc
            j = j + 1
        End If
    Next
    '
    If l2.Sheets.Count > 1 Then l2.Sheets(1).Delete
    l2.Sheets(1).Activate
    l2.SaveAs ruta & nombre & ".xlsx"
    l2.Close
    MsgBox "Orden de Trabajo guardada con el nombre : " & nombre, vbInformation, "ORDEN DE TRABAJO"
End Sub

 R ecuerda cambiar la valoración a la respuesta

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas