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 de Dante Amor
2
Respuesta de Programar Excel
1