利用VBA将出纳表格生成可打印的凭证

看看功能及实现

1.出纳数据表格如下图:

2:凭证模板如下图:

3:当点击"生成凭证"按钮时, 出纳表格的每条数据按凭证模板生成一个凭证, 生成的凭证如下图:

打印时,会每个凭证打印一页

4. 实现该功能的VBA源码:

    Dim r As Integer
    Dim i As Integer
    Dim j As Integer
    Dim k As Integer
    Sheet1.Cells.PageBreak = xlPageBreakNone
     r = Sheet2.UsedRange.SpecialCells(xlCellTypeLastCell).Row
     For i = 11 To r
        Sheet1.Rows(11).Delete shift:=xlUp
     Next i
     k = 2
     For i = 2 To r
        If (Sheet2.Range("G" & i) And Sheet2.Range("G" & i).Value) Then
            If (i > 2) Then
                Sheet1.Range("B1:V10").Copy Destination:=Sheet1.Range("B" & 10 * (k - 2) + 1)
                Sheet1.HPageBreaks.Add Range("B" & 10 * (k - 2) + 1)
                For j = 1 To 10
                    Sheet1.Rows(j + 10 * (k - 2)).RowHeight = Sheet1.Rows(j).RowHeight
                Next j
            End If
            Sheet1.Range("D" & (4 + 10 * (k - 2))).Value = Sheet2.Range("F" & i).Value
            Sheet1.Range("U" & (2 + 10 * (k - 2))).Value = Sheet2.Range("E" & i).Value
            Sheet1.Range("V" & (5 + 10 * (k - 2))).Value = Sheet2.Range("G" & i).Value
            Sheet1.Range("N" & (2 + 10 * (k - 2))).Value = Sheet2.Range("B" & i).Value
            Sheet1.Range("P" & (2 + 10 * (k - 2))).Value = Sheet2.Range("C" & i).Value
            Sheet1.Range("R" & (2 + 10 * (k - 2))).Value = Sheet2.Range("D" & i).Value
            k = k + 1
        End If
    Next i

 

欢迎留言交流,或者联系QQ:44048955

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值