专栏首页完美ExcelExcel应用实践04:分页单独打印Excel表中的数据

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

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

excelperfect

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

图1

图2

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

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

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

图3

在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

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

代码的图片版如下:

图4

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

本文分享自微信公众号 - 完美Excel(excelperfect)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-04-13

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Excel VBA解读(138): 自定义函数时使用字节数组实现更快的字符串处理

    如果有很多行,要查找每行字符串第一个大写字母的位置,则使用数组公式会花费不少时间。

    fanjy
  • Excel VBA解读(135): 影响工作表公式中运用自定义函数效率的Bug及解决方法

    在前面的两篇文章中,我们通过简单地修改VBA代码来使自定义函数运行得更快。本文将聚焦于Excel中会影响到自定义函数的Bug,并探讨如何避免它们。

    fanjy
  • VBA实用小程序50: 在指定的单元格中插入指定的形状

    下面的自定义函数使用Shapes集合对象的AddShape方法及其参数,可以在指定的单元格中插入指定的形状。

    fanjy
  • Excel VBA解读(134): 使用Excel函数提高自定义函数的效率

    在上篇文章中,我们展示了自定义函数有效的方式是通过将单元格区域读取到Variant型数组来传递单元格区域数据。本文将介绍在自定义函数中最有效的方式是使用Exce...

    fanjy
  • Excel应用实践06:进行多条件统计

    这是在知乎上看到的一个问题,我试着用VBA来解决。欢迎大家就自已使用Excel中遇到的问题或想要的解决方案提问,我将尽力解答。

    fanjy
  • Excel应用实践03:使用Excel进行个人计划执行记录与统计分析

    一转眼,2019年已至4月,自从年初立下flag后,便努力朝着实现它的方向奔跑。有些执行得很好,比如每天更新完美Excel微信公众号,坚持每天学习,而有些则还没...

    fanjy
  • Matlab加上VBA编程,表格就能画画了

    之前学习Matlab是为了参加一个数学建模的比赛,但是在慢慢的学习当中发现了matlab这款软件是真的有趣,真的非常有用,大家没事也可以去学习一下使用matla...

    FB客服
  • Excel VBA解读(143): 在自定义函数中使用整列引用时,如何更有效率?

    Excel用户经常发现在公式中使用整列的引用很方便,这样可避免每次添加新数据时都必须调整公式。因此,当编写用户自定义函数时,可能会使用:

    fanjy
  • Excel VBA解读(137): 让使用用户定义函数的数组公式更快

    Excel数组公式能够做很多令人惊讶的事情。除了在输入完后要按Ctrl+Shift+Enter组合键外,与普通公式一样。本文主要研究使用用户定义函数的数组公式。

    fanjy

扫码关注云+社区

领取腾讯云代金券