利用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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章