如何通过EXCEL宏功能实现打印选定内容

如题所述

第1个回答  2019-12-10
通过EXCEL宏功能实现打印选定内容的具体步骤如下:
1、首先打开需要编辑的Excel表格,进入到编辑页面中,打开开发工具中的“插入”,选择第一个图标。
2、然后框选出一个按钮,右键单击该按钮选择打开“指定宏”。
3、然后在弹出来的窗口中点击打开“编辑”选项。
4、然后在弹出来的窗口中点击输入代码如下:
Sub
按钮8_Click()
For
i
=
Range('I1')
To
Range('I2')
Range('H1')
=
i
ActiveSheet.PrintOut
Next
End
Sub
输完后,单击按钮即可。
第2个回答  2019-08-19
这是个比较复杂的过程,思路如下:
1)审批表中,将名册中待打印行的行号放在A1单元格,通过offset函数将各项需打印的数据显示到标准表的格式中。比如C5要填姓名,则=offset(名册!$A$1,A1-1,1),
G5要填职务,则=offset(名册!$A$1,A1-1,2)
2)通过代码更改审批表!A1的值,打印名册中的对应单行或连续行的数据。
具体步骤:
1)在审批表中设置打印区域
2)录制一个宏,打印审批表页,保存下来,起个名比如叫PrintForm,以便在以下代码中调用
3)设置审批表中的公式:A1输入个测试值9;按上面提到的方法用offset函数设置每个单元格的公式,“=offset(名册!$A$1,A1-1,”这部分都是一样的,只有第3个参数(偏移列数)不同。在名册中对应第n列,这参数就填n-1的值。比如姓名在第2列,则填1;职务在第3列,则填2。
4)编一个宏,如下:
Sub
PrintAll()
Dim
rng
As
Range,
R
As
Integer,
I
As
Integer,
C
As
Integer
Set
rng
=
Selection
R
=
rng.Row
C
=
rng.Rows.Count
For
I
=
1
To
C
Sheets("审批表").Range("A1").Value
=
R
+
I
-
1
Calculate
PrintForm
Next
End
Sub
5)新建个按钮,把上面的宏指定给这个按钮。
OK,现在,选上待打印区域(连续选择,不能隔行选择),按按钮就可以打印了