我需要打印 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不允许选择范围。它根据设置特异性将选择扩展到整行或整列。