前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Excel应用实践04:分页单独打印Excel表中的数据

Excel应用实践04:分页单独打印Excel表中的数据

作者头像
fanjy
发布2019-07-19 11:27:28
1.4K0
发布2019-07-19 11:27:28
举报
文章被收录于专栏:完美Excel

学习Excel技术,关注微信公众号:

excelperfect

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

图1

图2

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

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

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

图3

在VBE中输入下面的程序代码:

代码语言:javascript
复制
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

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

代码的图片版如下:

图4

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

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-04-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 完美Excel 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档