分頁單獨打印Excel表中的數據

在實際工作中,我們經常會遇到想將工作表中的數據(如下所示的“數據”工作表)導入到固定的表格(如下所示)中并打印 。

分頁單獨打印Excel表中的數據



分頁單獨打印Excel表中的數據


上中的數據可能是我們陸續輸入到工作表中的,可能是從多個工作表合并的,也可能是從其他地方例如網站上導入的 。此時,想要以所示的格式打印每條數據信息 。如果一行行數據分別錄入,則費時費力,特別是遇到成百上千條數據時 。
VBA最擅長解決這樣的問題 。
首先,在工作簿中創建一個名為“表格模板”的工作表,按打印的表格格式化,如下所示 。
分頁單獨打印Excel表中的數據


在VBE中輸入下面的程序代碼:
Sub printAllDatas()
‘數據記錄工作表變量
Dim wksDatas As Worksheet
‘模板工作表變量
Dim wksTable As Worksheet
‘數據記錄工作表中最后一行變量
Dim lngLastRow As Long
‘循環變量
Dim i As Long
‘將工作表賦給相應的變量
Set wksDatas = Worksheets(“數據”)
Set wksTable = Worksheets(“表格模板”)
‘獲取數據記錄工作表最后一行行號
lngLastRow = wksDatas.Range(“A”& Rows.Count).End(xlUp).Row
‘遍歷數據記錄工作表中數據行
‘將相應數據填入模板工作表
For i = 2 To lngLastRow
‘將數據工作表中的數據填入模板
With wksDatas
wksTable.Range(“B3”) =.Range(“A” & i)
wksTable.Range(“F3”) =.Range(“B” & i)
wksTable.Range(“B4”) =.Range(“C” & i)
wksTable.Range(“D4”) =.Range(“D” & i)
wksTable.Range(“F4”) =.Range(“E” & i)
wksTable.Range(“B5”) =.Range(“F” & i)
wksTable.Range(“F5”) =.Range(“G” & i)
wksTable.Range(“B6”) =.Range(“H” & i)
wksTable.Range(“F6”) =.Range(“I” & i)
wksTable.Range(“B7”) =.Range(“J” & i)
wksTable.Range(“B8”) =.Range(“K” & i)
End With
‘打印
wksTable.PrintOut
Next i
End Sub
運行代碼,即可實現數據打印 。
代碼的圖片版如下:
分頁單獨打印Excel表中的數據


【分頁單獨打印Excel表中的數據】使用VBA,也很容易將數據按模板表格形式,拆分成獨立的工作表 。有興趣的朋友可以試試 。

    猜你喜歡