EXCEL中,如何通过VBA,实现按需打印,自动隐藏掉不需要的部分,只打印需要的部分。
有一个EXCEL 表格的模板,实际表格的行和列比较多,但在打印的时候,只想打印需要的部分:
如《图1,打印前的表格》
第一,①当我点击(打印按钮)时,我想在打印时只打印第一行中有【打印】字符的列,第一行中没有【打印】字符的列就不打印;
②同时打印的行是A列中有数据的行(图中A列是有1、2、3、4、5、6的列),A列中没有数据行不打印,打印时效果如《图2》。
③打印时,行高和列宽保持不变。且打印并不是删除空格,只是隐藏,不打印
第二,当打印结束时,如果界面还停留《图2》在打印时的隐藏界面,当我点击(恢复按钮)时,打印界面恢复到打印前的表格如《图1》。
Sub a隐藏()
For i = 1 To [b2].End(2).Column
If Cells(1, i) <> "打印" Then Cells(1, i).EntireColumn.Hidden = True
Next
For j = 1 To [b2].End(4).Row
If Cells(j, 1) = "" Then Cells(j, 1).EntireRow.Hidden = True
Next
End Sub
Sub a取消所有隐藏()
Rows("1:100").Hidden = False
Columns("A:zz").Hidden = False
End Sub