Imprimir Un archivo de Excel en Pdf con membrete y total

Ok Caballeros... Les explico un poco para ver si es posible de realizar, tengo un formulario donde consulto las facturas de un cliente y las puedo mandar a imprimir en un archivo de PDF, gracias a una macro de SR. DANTE que encontré aquí, OK la pregunta es la siguiente se puede hacer que el archivo al generarlo coloque los datos de la empresa o bien un titulo en la página que diga ((detallado de Facturas del Cliente)) y también que coloque al final de todas las facturas el total de las mismas... Gracias

Este es el archivo donde estamos trabajando: https://drive.google.com/file/d/0Bx-zCa0B8OvbenJQNzA4OXBEenc/view?usp=sharing 

1 respuesta

Respuesta
1

Esta es la macro para el botón imprimir

Private Sub CommandButton1_Click()
'Por.Dante Amor
    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
    Set h1 = Sheets.Add
    c = ListBox1.ColumnCount
    f = ListBox1.ListCount + 3
    h1.Range("B1") = "Detallado de Facturas del Cliente"
    h1.Range("A3:G3") = Array("Codigo", "Nombre / Razon Social", "R.I.F", "Factura", "Mes", "Fecha de Emision", "Monto")
    h1.Range(h1.Cells(4, 1), h1.Cells(f, c)) = ListBox1.List
    h1.Cells(f + 3, c - 1) = "Total"
    h1.Cells(f + 3, c) = Application.Sum(h1.Cells(4, c), h1.Cells(f, c))
    h1.Cells.EntireColumn.AutoFit
    '
    With Application.FileDialog(msoFileDialogSaveAs)
        .Title = "Exportar archivo a PDF"
        .AllowMultiSelect = False
        .FilterIndex = 25
        If .Show Then
            march = .SelectedItems(1)
            h1.ExportAsFixedFormat Type:=xlTypePDF, _
            Filename:=march, _
            Quality:=xlQualityStandard, _
            IncludeDocProperties:=True, _
            IgnorePrintAreas:=False, OpenAfterPublish:=True
        End If
    End With
    h1.Delete
    Unload Me
    Me.ComboBox1 = ""
    Me.ListBox1 = ""
    Me.txt_codigo = ""
    Me.txt_rif = ""
    Me.txt_CostoFinal = ""
End Sub

Pensé que no se podía hacer... pero la verdad que sus conocimientos en excel VBA son muy AVANZADOS pero hay un detalle en el código que al seleccionar un cliente con un solo registro este se me multiplica por 2 en el total, ¿por qué sera este detalle? También le comento que le di formato de tamaño, tipo de fuente y doble línea al texto de encabezado con estos código:

Range("B1").Font.Underline = xlUnderlineStyleDouble

Range("B1").Font.Size = 16
Range("B1").Font.Name = "Arial"

Range("B1:F1").MergeCells = True

Cambia esa línea

h1.Cells(f + 3, c) = Application.Sum(h1.Cells(4, c), h1.Cells(f, c))

Por estas

    If f = 4 Then
        h1.Cells(f + 3, c) = Application.Sum(h1.Cells(4, c))
    Else
        h1.Cells(f + 3, c) = Application.Sum(h1.Cells(4, c), h1.Cells(f, c))
    End If

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas