excel中,如何用VBA解决打印时将不需要的行和列隐藏好不打印?

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

温馨提示:答案为网友推荐,仅供参考