大家早上好!
我需要构建一个基于当前活动工作表打印报告的宏。该工作表包含几个宏按钮,每个按钮将在此特定工作表的相同范围内显示不同的内容。然而,并不是我需要在报告中提供的所有列,它们都无法移动。所以现在我写这个来解决这个问题。
Sub Macro111()
Dim PrintThis As Range
Dim LastRow As Long
LastRow = Sheets("Reports").Range("G" & Rows.Count).End(xlUp).Row
With Sheets("Reports")
Set PrintThis = Union(.Range("G1:G" & LastRow), .Range("k1:L" & LastRow), .Range("Q1:Q" & LastRow), .Range("S1:T" & LastRow))
End With
PrintThis.PrintPreview
End Sub
但是,它会永远运行,并在单独的页面中打印出列。我该如何解决这个问题?
谢谢!
答案 0 :(得分:1)
在运行宏之前,先运行它:
Sub RunMeFirst()
Columns.Hidden = True
Range("G:G, K:L, Q:Q, S:T").EntireColumn.Hidden = False
End Sub
运行宏后,取消隐藏所有列。