gpt4 book ai didi

打印与屏幕和分页符的 Excel 条件内容/格式

转载 作者:行者123 更新时间:2023-12-04 22:11:05 28 4
gpt4 key购买 nike

我在 Excel 中有一个 VBA 发布宏,它根据主配置工作表和一些包含数据的工作表生成一个已发布的工作簿。发布的版本是直接数据,仍然是格式化的,但没有公式,并且隐藏了某些注释和背景信息。基本上,主配置包含要发布的工作表名称和范围表。

为了使发布的版本可打印,一些工作表需要插入分页符。我意识到我可以基于相同的配置插入这些,我还可以通过在我的主工作表中添加更多列来更改特定工作表的打印方向和边距。

棘手的地方来了。如果表格在发布过程中插入了其中一些分页符,我希望在分页符之前插入一个信息行,指示该表格在下一页继续。但我只希望它出现在打印版本中,而不是显示在屏幕显示中。

有没有办法做到这一点?

最佳答案

首先,插入一行并将其隐藏在分页符之前。然后,您可以使用 BeforePrint 工作簿上的事件以查找其中包含“查看下一页”文本的所有行,然后取消隐藏它们。

Sub Workbook_BeforePrint(cancel as Boolean)
Dim rngCell as Range
set rngCell = ActiveSheet.UsedRange.Find("See Next Page")

while not rngCell is Nothing
if not rngCell is Nothing then
rngCell.EntireRow.Hidden = false
end if
set rngCell = ActiveSheet.UsedRange.FindNext()
loop
End Sub

如果您需要离开,这会让您有所收获,但是,它会让您容易受到以下事实的影响:没有 AfterPrint。 .因此,您可以执行以下操作:
Sub Workbook_BeforePrint(cancel as Boolean)
Application.EnableEvents = false

'Unhide rows here

if cancel then
Workbook.PrintPreview()
else
Workbook.PrintOut()
end if

'Rehide rows here

Application.EnableEvents = True
End Sub

请注意 cancel基本上会告诉您它是打印预览还是实际打印命令。我认为它非常友好。

关于打印与屏幕和分页符的 Excel 条件内容/格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1183541/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com