设置打印区域的代码将不起作用
我对VBA和Excel很新。 我有一个代码为文档设置打印区域
Dim count As Integer count = ThisWorkbook.Worksheets("sheet2").Range("E106").Value Dim i As Integer i = count + 4 Sheets("sheet1").PageSetup.PrintArea = Range(Cells(3, 2), Cells(35, i)) End Sub
但是当我进入打印预览时,会显示完整的工作表。 Sheet1和Sheet2是工作表名称的别名,但我有其他代码引用它们,它工作得很好。 我已经尝试录制macros以设置打印区域,然后插入我的自定义范围。 任何帮助我做错了将不胜感激:)
PageSetup
的PrintArea
属性不是一个对象( range
),而是一个包含所需范围地址的string
。 尝试这个:
With Sheets("sheet1") .PageSetup.PrintArea = .Range(.Cells(3, 2), .Cells(35, i)).Address End With ' ^^^^^^^^
更高级的版本(testing):
With ThisWorkbook.Worksheets("Sheet1") .PageSetup.PrintArea = .Range("offset(B3,0,0,32,Sheet2!E106+2)").Address .DisplayPageBreaks = False ' optional to hide the print area rectangle End With