Consulta Marcro Corta y Pega Pedidos

Para Dante Amor

Dante, La macro que me hiciste necesitaría que El numero de H4 le sume +1 cada vez que hago el proceso de copiado, borre el resto de los datos cargados (Salvo H4 lógicamente) e imprima 2 copias.

H4 es "numero" pero con un guión para ayudar la lectura.

Lo de la impresión si no es posible lo hago manualmente.

1 Respuesta

Respuesta
1

¿Pero el número del pedido lo tienes con un formato?

Te anexo la macro actualizada, no importa si es texto o número la macro lo resuelve.

Sub CopiarPedido()
'Por.Dante Amor
    Application.ScreenUpdating = False
    Set h1 = Sheets("Pedido")
    Set h2 = Sheets("Base")
    u = h2.Range("E" & Rows.Count).End(xlUp).Row
    If u = 3 Then u = 4 Else u = u + 2
    '
    If h1.[H4] = "" Then
        MsgBox "Falta el número de pedido"
        Exit Sub
    End If
    '
    If h1.[C12] = "" Then
        MsgBox "Falta el código"
        Exit Sub
    End If
    '
    'Calcular el nuevo número
    num = h1.[H4]
    If InStr(1, num, "-") > 0 Then
        nums = Split(num, "-")
        nvo = nums(1) + 1
        num = nums(0) & "-" & Format(nvo, "000000")
    Else
        num = num + 1
    End If
    '
    h2.Cells(u, "B") = h1.[H4]                  'num pedido
    h2.Cells(u, "C") = h1.[C9]                  'Fecha
    h2.Cells(u, "D") = h1.[D9]                  'Clinte
    h2.Cells(u, "K") = h1.[G9]                  'Fec entrega
    h2.Cells(u, "L") = h1.[H9]                  'Forma entrega
    For i = 12 To h1.Range("C" & Rows.Count).End(xlUp).Row
        If h1.Cells(i, "C") <> "" Then
            h2.Cells(u, "E") = h1.Cells(i, "C") 'Código
            h2.Cells(u, "F") = h1.Cells(i, "D") 'Desc
            h2.Cells(u, "G") = h1.Cells(i, "E") 'Cantidad
            h2.Cells(u, "H") = h1.Cells(i, "F") 'Marca
            h2.Cells(u, "I") = h1.Cells(i, "G") 'Armado
            h2.Cells(u, "J") = h1.Cells(i, "H") 'Obs
            u = u + 1
        Else
            Exit For
        End If
    Next
    Application.ScreenUpdating = True
    Application.CutCopyMode = False
    '
    'Imprimir
    h1.PrintOut Copies:=2
    'Borrar datos
    h1.[C9] = ""                 'Fecha
    h1.[D9] = ""                 'Clinte
    h1.[G9] = ""                 'Fec entrega
    h1.[H9] = ""                 'Forma entrega
    h1.Range("C12:H" & i).ClearContents
    'Nuevo número
    h1.[H4] = num
    MsgBox "Pedido copiado"
End Sub

S a l u d o s . D a n t e   A m o r. Recuerda valorar la respuesta. G r a c i a s

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas