分页单独打印Excel表中的数据

网友投稿 561 2022-10-18

分页单独打印Excel表中的数据

在实际工作中,我们经常会遇到想将工作表中的数据(如下所示的“数据”工作表)导入到固定的表格(如下所示)中并打印。

上中的数据可能是我们陆续输入到工作表中的,可能是从多个工作表合并的,也可能是从其他地方例如网站上导入的。此时,想要以所示的格式打印每条数据信息。如果一行行数据分别录入,则费时费力,特别是遇到成百上千条数据时。

VBA最擅长解决这样的问题。

首先,在工作簿中创建一个名为“表格模板”的工作表,按打印的表格格式化,如下所示。

在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

运行代码,即可实现数据打印。

代码的图片版如下:

使用VBA,也很容易将数据按模板表格形式,拆分成独立的工作表。有兴趣的朋友可以试试。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:甘特图自动生成公式
下一篇:wps2019怎么取消自动编号?wps2019关闭自动编号教程
相关文章