设置打印区域的代码将不起作用

我对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以设置打印区域,然后插入我的自定义范围。 任何帮助我做错了将不胜感激:)

PageSetupPrintArea属性不是一个对象( 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