Exportar excel a txt y Pdf en mismo procesos

Para Dante Amor.

Dante, ¿cómo estas?

Te molesto por lo siguiente, necesito exportar a txt y pdf. Actualmente tengo una macro que me exporta a Pdf las hojas que utilice según una condición dada. Ahora necesito que que me exporte todo en una misma hoja. El excel es para tomar pedidos, tiene diferentes productos en cada hoja. No se si es posible esto, y que datos necesitas.

Hay una macro que se ejecuta que se llama call previa que lo que haces es filtrar solo las filas que tienen cantidad diferente a cero.

Te paso la macro que me armaste anteriormente.

Sub GuardarPDF()
'
'
    '
    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
    '
    Set l1 = ThisWorkbook
    Set h1 = l1.Sheets("Hoja1")        'Primera hoja donde vas a poner el cliente
    Set l2 = Workbooks.Add
    Set H2 = l2.Sheets(1)
    '
    ruta = "P:\Matriz\"
    n = -1
    cliente = h1.Range("G4")
    If cliente = "" Then
        MsgBox "Debes capturar el cliente en la primera hoja", vbCritical
        Exit Sub
    End If
    '
    l1.Activate
    For Each h In l1.Sheets
        If h.Visible = -1 Then
            h.Select
            ActiveSheet.Unprotect
            h.[G4] = cliente
            If h.[L4] <> 0 Then
                h.Select
                Call Previa
                n = n + 1
                u = h.UsedRange.Rows(h.UsedRange.Rows.Count).Row
                u2 = H2.UsedRange.Rows(H2.UsedRange.Rows.Count).Row + 1
                h.Rows("1:" & u).Copy
                H2.Range("A" & u2).PasteSpecial xlValues
                If nomb = "" Then
                    nomb = h.[G4] & " " & Format(h.Range("G2"), "dd-mm-yyyy") + Format(Now, "(hh'mm)") & ".xlsx"
                End If
            End If
        End If
    Next
    '
    l2.SaveAs Filename:=ruta & nomb, _
        FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
    l2.Close False
    '
    If n > -1 Then
        usuario = Environ$("computername")
        Set h = Sheets("usuarios")
        Set b = h.Columns("A").Find(usuario)
        If b Is Nothing Then
            MsgBox "El usuario: " & usuario & " no existe en la hoja 'usuarios'", vbCritical
            Exit Sub
        End If
        '
        correos = b.Offset(0, 1)
        '
        Set dam = CreateObject("outlook.application").createitem(0)
        dam.To = correos
        dam.Subject = nomb
        dam.Body = "Orden de Pedido"
        dam.Attachments.Add ruta & nomb
        'dam.Send 'El correo se envía en automático
        dam.Display 'El correo se muestra
        '
        MsgBox "Orden lista para enviar, favor revisar correo"
    End If
    Call NuevoUnificada
End Sub

2 respuestas

Respuesta
2

La macro crea un libro con una sola hoja y en esa hoja pone toda la información, con eso tendrías esto que pides:

Ahora necesito que que me exporte todo en una misma hoja.

Dante gracias por tu respuesta.

Es correcto lo que me decís, pero necesito que la macro me copie de una columna y fila especifica.

Actualmente tengo un macro para cada hoja que haces es filtrar solo las filas utilizadas para no guardar las filas que tienen cero en el campo cantidad. Cada hoja tienen diferentes cantidades de filas por eso utiliza esta macro.

La verdad no me doy cuenta como resolver este inconveniente.

Agradezco tu ayuda.

Sub NuevoPedido()
'
' NuevoPedido Macro
'
'
    ActiveSheet.Unprotect
    ActiveSheet.Range("$B$7:$P$184").AutoFilter Field:=9, Criteria1:= _
        "<>*Cantidad*", Operator:=xlOr, Criteria2:=">=1"
    Columns("M:Q").Select
    Selection.EntireColumn.Hidden = False
    Range("O4:P4").Select
    Selection.Copy
    Range("J9:K184").Select
    ActiveSheet.Paste
    ActiveSheet.Range("$B$7:$P$184").AutoFilter Field:=9
    Application.CutCopyMode = False
    Selection.AutoFilter
    Columns("P:P").Select
    Selection.EntireColumn.Hidden = True
    Range("K2").Select
    Selection.ClearContents
    Range("G4:K4").Select
    Selection.ClearContents
    ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
End Sub

Ya no entendí, ¿qué tiene que ver una macro con la otra?

Respuesta
1

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas