请教,在Excel VBA中如何打印指定的工作表?谢谢。

如题所述

1、用重命名方式将Sheet5的名称修改为了“测试表单”,但在VBAProject中,前面的名字依然叫Sheet5。

2、点击 VBAProject下面的Sheet3,下面对应出现Sheet3的属性,我们能够看到属性中 一个叫“名称”,就是工作表的CodeName,另外一个Name,就是平时大家所见的Sheet 的名字。

3、在“名称”属性中输入新的名称,直接对CodeName进行修改。

4、工作表的CodeName就是工作表在VBE工程中所在部件的名称,通过修改VBE工程中所在部件的名称来达到修改工作表的CodeName的目的。

5、运行,输入新的codename以后,系统给出提示“未信任到VB工程访问,请在信任选项中勾选VB工程访问”。

6、点击开发工具|宏安全性,打开宏安全性配置窗口。

7、勾选“信任对VBA工程对象模型的访问”,然后点击确定。

8、重新运行,成功将Sheet1修改为testaaa。

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-11-25
sub dayin()
Application.ActiveSheet.PrintOut copies:=1
end sub
这是打印当前的工作表 打印一份
如果是打印当前工作薄中的工作表
Excel.ActiveWorkBook.PrintOut(1,Excel.WorkSheets.count,1,.T.) 带参数的打印
参数说明:共四个参数
参数1-数值:当前工作簿中进行打印的起始工作表号(默认1)参数2-数值:当前工作簿中进行打印的结束工作表号(默认最末)
参数3-数值:打印份数(默认1)
参数4-逻辑值:是预览打印还是直接打印:.T.-预览打印,.F.-直接打印(默认.F.)
Excel.ActiveSheet.PrintOut()
  参数说明:共八个参数
  参数1-数值:起始页号,省略则默认为开始位置参数2-数值:终止页号,省略则默认为最后一页
参数3-数值:打印份数,省略则默认为1份
参数4-逻辑值:是否预览,省略则默认为直接打印(.F.)
参数5-字符值:设置活动打印机名称,省略则为默认打印机
参数6-逻辑值:是否输出到文件,省略则默认为否(.F.),若选.T.且参数8为空,则Excel提示输入要输出的文件名
参数7-逻辑值:输出类型,省略则默认为(.T.)逐份打印,否则逐页打印
参数8-字符值:当参数6为.T.时,设置要打印到的文件名
Excel.ActiveSheet.PrintOut(1,3,6,.F.,"MyPrinter",.F.,.T.,,) 从1页打印到3页,打印6份,通过MyPrinter打印机来打印,并且,要逐份打印。

希望能帮到你本回答被提问者采纳
第2个回答  2013-03-15
假设想打印当前工作簿中的sheet2工作表,代码如下:
Sheets("sheet2").PrintOut
第3个回答  2013-03-15
把你需要打印的内容选中,然后点打印,打印时选择只打印选中内容!
第4个回答  2018-07-12
Sheets(Array("Sheet1", "Sheet2")).PrintOut 可以将你要打印的合进去。
相似回答