首页 > Office专区 > Excel教程 >

Excel如何每打印一次单元格内容变一次

来源:互联网 2023-02-20 19:35:30 171

有些情况下,我们在打印Excel文件时,有很多文件,比如打印员工卡,内容格式都一样,就是个别单元格的内容不同,只能改一次打印一次,效率低不说,可能不小心还会改错。当然可以做成几十甚至上百页依次打印,但这也不是高效的方法。cab办公区 - 实用经验教程分享!

提高Excel效率,VBA就要一显身手了。今天就为大家介绍,如何利用VBA实现,Excel表格每打印一次,个别单元格的内容变化一次。这里介绍两种情况,一种是单元格内容有规律的变化,另一种是单元格内容随着数据库变化。cab办公区 - 实用经验教程分享!

工具/原料

  • Office2007

单元格内容有规律变化的情况

  • 1

    模型:sheet1中,已经设置好了打印区域。要求每打印一次,单元格B2中的日期就增加一天。cab办公区 - 实用经验教程分享!

    Excel如何每打印一次单元格内容变一次cab办公区 - 实用经验教程分享!

  • 1相关内容未经许可获取自百度经验
  • 2

    Alt F11,打开VBE,双击sheet1工作表,以确认后续的代码是在sheet1中执行。cab办公区 - 实用经验教程分享!

    Excel如何每打印一次单元格内容变一次cab办公区 - 实用经验教程分享!

  • 3

    复制如下代码到右侧的空白区域,然后按F5执行代码即可实现每打印一张,B2的日期增加一天。cab办公区 - 实用经验教程分享!

    Sub m()cab办公区 - 实用经验教程分享!

    For i = 1 To 100cab办公区 - 实用经验教程分享!

    ActiveSheet.PrintOut copies:=1cab办公区 - 实用经验教程分享!

    Cells(2, 2) = Cells(2, 2) icab办公区 - 实用经验教程分享!

    Nextcab办公区 - 实用经验教程分享!

    End Subcab办公区 - 实用经验教程分享!

    Excel如何每打印一次单元格内容变一次cab办公区 - 实用经验教程分享!

  • 4

    代码详解:cab办公区 - 实用经验教程分享!

    1.Sub m()——这是宏名,无需理会;cab办公区 - 实用经验教程分享!

    2.For i = 1 To 100——这是控制打印次数,后面的100就是打印的页数,可以通过更改这个数值,来控制打印多少页;cab办公区 - 实用经验教程分享!

    3.ActiveSheet.PrintOut copies:=1——这是打印当前页的代码,无需理会;cab办公区 - 实用经验教程分享!

    4.Cells(2, 2) = Cells(2, 2) i——这里的Cells(2,2)就是单元格B2,其中第一个2是行数,第二个2是列数,更改这两个数值,就可以控制让哪个单元格的数值变动;cab办公区 - 实用经验教程分享!

    5.Next——继续循环,无需理会;cab办公区 - 实用经验教程分享!

    6.End Sub——结束宏,无需理会。cab办公区 - 实用经验教程分享!

  • 单元格内容依次调用数据库数据

  • 1

    模型:还是上述中的sheet1中的B2单元格,需要每打印一次,从sheet2中的A1开始往下引用一次数据库中的内容。cab办公区 - 实用经验教程分享!

    Excel如何每打印一次单元格内容变一次cab办公区 - 实用经验教程分享!

  • 2

    Alt F11,打开VBE,双击sheet1工作表,以确认后续的代码是在sheet1中执行。cab办公区 - 实用经验教程分享!

    Excel如何每打印一次单元格内容变一次cab办公区 - 实用经验教程分享!

  • 3

    复制如下代码到右侧的空白区域,然后按F5执行代码即可实现每打印一张,B2的日期依次调用sheet2中A列的日期。cab办公区 - 实用经验教程分享!

    Sub m()cab办公区 - 实用经验教程分享!

    For i = 1 To Sheets("sheet2").Range("A65536").End(3).Rowcab办公区 - 实用经验教程分享!

    ActiveSheet.PrintOut copies:=1cab办公区 - 实用经验教程分享!

    Cells(2, 2) = Sheets("sheet2").Cells(i, 1)cab办公区 - 实用经验教程分享!

    Nextcab办公区 - 实用经验教程分享!

    End Subcab办公区 - 实用经验教程分享!

    Excel如何每打印一次单元格内容变一次cab办公区 - 实用经验教程分享!

  • 4

    代码详解如下:cab办公区 - 实用经验教程分享!

    1.Sub m()——宏名,无需理会;cab办公区 - 实用经验教程分享!

    2.For i = 1 To Sheets("sheet2").Range("A65536").End(3).Row——根据sheet2中的A列的数据决定打印份数,即A列有多少航,打印多少份;如果指定打印份数,则将Sheets("sheet2").Range("A65536").End(3).Row替换为打印份数;cab办公区 - 实用经验教程分享!

    3.ActiveSheet.PrintOut copies:=1——打印代码,无需理会;cab办公区 - 实用经验教程分享!

    4.Cells(2, 2) = Sheets("sheet2").Cells(i, 1)——前面是B2单元格,后面是sheets("sheet2")这是sheet2的工作表名,如果是其他名称,将"sheet2"替换为实际工作表名,后面的cells(i,1)即随着i的变化,以此变为A列从第一行往下的数据。cab办公区 - 实用经验教程分享!

    5.Next——继续循环,无需理会;cab办公区 - 实用经验教程分享!

    6.End Sub——结束宏,无需理会。cab办公区 - 实用经验教程分享!

  • 注意事项

    • 以上只是讲解了最简单的两种情况;其实万变不离其宗,任何类似的情况,只是添加一些控制单元格内容变化的代码即可;如有需要,可以再问我

    以上方法由办公区教程网编辑摘抄自百度经验可供大家参考!cab办公区 - 实用经验教程分享!


    标签: excel打印单元内容

    办公区 Copyright © 2016-2023 www.bgqu.net. Some Rights Reserved. 备案号:湘ICP备2020019561号统计代码