将"打印标题列"设置为动态范围



我需要打印 100 多页数据,我想在打印的每个页面上都有一个标题和一个侧列。

我可以使用我创建的动态范围手动执行此操作,但我必须在页面布局设置中手动输入范围的名称。我还尝试使用宏来使用我的动态范围执行此操作,但是当我运行以下脚本时收到错误消息;

Sheets("1. Paste Raw Data").Select
ActiveSheet.PageSetup.PrintTitleColumns = Sheets("1. Paste Raw Data").Range("Print_Side")
ActiveSheet.PageSetup.PrintTitleRows = Sheets("1. Paste Raw Data").Range("Print_Header")

我还尝试使用 excel 定义的范围(名为 Print_Titles(在打印页面时更改这些设置,但它不允许我输入多个动态范围。Print_Titles目前在名称管理器中定义如下;

='1. Paste Raw Data'!$B:$B,'1. Paste Raw Data'!$4:$6

有没有办法使用两个动态范围来定义行和列的标题?

恐怕你想做的事情,不被Excel接受......

它允许像一样设置PrintTitleRows,而不是像范围(如动态范围(。Excel仅允许设置要重复的ROWS。如果使用区域(手动选择(,Excel 会扩展该区域以包括整行。就范围而言,它只接受一系列行。

如果您坚持使用动态范围,则可以使用:

ActiveSheet.PageSetup.PrintTitleRows = _
ActiveSheet.Rows(Names("Print_Header").RefersToRange.Row).Address

但这就像你用右臂挠你的左脑袋......

您也可以以类似的方式进行PrintTitleColumns,但只需使用以下方法即可获得相同的结果:

ActiveSheet.PageSetup.PrintTitleColumns = "$A:$A"

即使您会手动尝试设置这些参数,您也会观察到Excel不允许选择范围。它根据设置特异性将选择扩展到整行或整列。

最新更新