凭证从Excel打印

时间:2017-04-08 11:52:56

标签: excel vba excel-vba

我需要有关excel的多张优惠券打印的帮助。

在表2中,我有以下数据: 在A栏中,我已经放了大约2000个日期(dd-mm-yyyy)。 我在B栏上有代金券(大约2000张代金券)。 在C列中,我在每个Cell中有不同的描述。 在D栏,我有一定数量的凭证。 在F栏中,我有我要付款的人的姓名。这可能是几个细胞。 在H栏中,我已经提到了付款的原因。这也可能是很少的细胞,因为工作性质可能是常见的。

在第1页中,我有凭证格式(A5尺寸)

我想要一个vba或一种打印到PDF /或打印机的方法,所有上述凭证的格式均为第1页

样本数据如下:

在单元格A1中 - > 2017年4月4日

在单元格B1中 - > VCH0005

在单元格C1中 - > "支付给#34;

的金额

在单元格D1中 - > 500.00

在细胞F1中 - > "先生。 John Doe"

在单元格H1中 - > "用于将货物从我们的办公室运送到其他办公室"

点击按钮,上述数据将以特定方式打印 以Sheet1 A5尺寸或A4尺寸设计的格式。

请帮忙。 提前谢谢。

1 个答案:

答案 0 :(得分:0)

此代码将工作表2中的数据复制并粘贴到工作表1中,并将工作表1保存为.pdf文件。它会询问您要使用哪个应用程序将工作表编写为.pdf文件。如果需要,可以在使用ExportAsFixedFormat方法之前定义Excel应用程序的ActivePrinter属性。

以下是代码:

Dim lastRow As Integer
Dim filePath As String

With ThisWorkbook.Sheets(2)
    lastRow = .Cells(.Rows.Count, "A").End(xlUp).Row

    .Range("A1:H" & lastRow).Copy
    .Paste Destination:=ThisWorkbook.Sheets(1).Range("A1")
End With

filePath = "C:" 'Edit file folder path the .pdf file will be saved to
'Application.ActivePrinter = "" 'Set active printer property if desired
ThisWorkbook.Sheets(1).ExportAsFixedFormat Type:=xlTypePDF, _
    Filename:=filePath & "voucherPrint.pdf", _
    Quality:=xlQualityStandard, _
    IncludeDocProperties:=True, _
    IgnorePrintAreas:=False, _
    OpenAfterPublish:=True