AMM*_*AMM 3 vba macros microsoft-excel microsoft-excel-2010
Excel 2010 只允许通过文件→选项→高级→“此工作表的显示选项”一次为一个工作表打开或关闭分页符:
我以前想出了一个 VBA 宏来切换分页符,但它只适用于我有活动的工作表:
Sub TogglePageBreaks()
ActiveSheet.DisplayPageBreaks = Not ActiveSheet.DisplayPageBreaks
End Sub
Run Code Online (Sandbox Code Playgroud)
下一个合乎逻辑的问题(其他人必须向我指出)是如何使用宏来切换活动工作簿中所有工作表的分页符显示?
作为 VBA 的新手,我花了几个小时研究如何循环工作表以及 DisplayPageBreaks 对象的工作原理。我在下面想出了一个答案。
这是我能想出的。我在 Excel 2010 中成功测试了它。我对 VBA 很陌生,所以我为此苦苦挣扎了一段时间。 ws.Activate
是关键,因为DisplayPageBreaks
仅适用于活动工作表。感谢RocketDonkey的帖子让我意识到这一点。还要感谢Rick Rothstein,他提出了我在回答中应用的精美简单的切换代码概念。
Sub ToggleWkBkPageBreaks()
Dim ws As Worksheet
For Each ws In ActiveWorkbook.Worksheets
ws.Activate
ActiveSheet.DisplayPageBreaks = True + False - ActiveSheet.DisplayPageBreaks
Next ws
End Sub
Run Code Online (Sandbox Code Playgroud)