增加Excel PrintArea的最大string长度

我问了一个关于Excel打印区域的最大string长度的问题:

Excel中PrintArea的最大string长度

对于Excel 2010,“打印区域”设置为255。

我认为这是一个只读属性,但(在这里抓着吸pipe),有什么办法来增加打印区域的长度? Excel插件也许?

如果没有,我将不得不以编程方式设置一个新的打印区域,一旦达到最大值255。

编辑:

我已经尝试了下面的答案:

范围(“A1:C3,A5:B6,C7:D8,E1:E2,G1:G2,A10:A11,A13:A14,A16:A17,A19:A20,A22:A23,A25:A26,A28:A29 ,A30:A31,A33:A35,A37:A38,A40:A41,A43:A44,A46:A47,A49:A50,A52:A53,A55:A56,A58:A59,A61:A63,A65:A66,A68 :A69,A71:A72,A74:A75,A77:A78,A80:A81,A83:A84,A86:A87,A88:A89,A91:A92“)Name =”MyNamedRange“

工作正常 – 253个字符。

范围(“A1:C3,A5:B6,C7:D8,E1:E2,G1:G2,A10:A11,A13:A14,A16:A17,A19:A20,A22:A23,A25:A26,A28:A29 ,A30:A31,A33:A35,A37:A38,A40:A41,A43:A44,A46:A47,A49:A50,A52:A53,A55:A56,A58:A59,A61:A63,A65:A66,A68 :A69,A71:A72,A74:A75,A77:A78,A80:A81,A83:A84,A86:A87,A88:A89,A91:A92,A94:A95“)Name =”MyNamedRange“

运行时错误1004 – (261个字符)

所以,我想现在我应该设置多个命名范围,然后设置活动页面打印区域,依次使用每个命名范围?

非常感谢。

作弊命名范围:

Range("A1:C3,A5:B6,C7:D8").Name = "MyNamedRange"
然后
ActiveSheet.PageSetup.PrintArea = "MyNamedRange"

似乎命名范围也有255个字符的限制。

下一个解决scheme是隐藏你不想打印的行:

 Private Sub Workbook_BeforePrint(Cancel As Boolean) If ActiveSheet.Name = "Sheet1" Then Cancel = True ' cancel default print method so we can print out stuff ourselves Application.EnableEvents = False Application.ScreenUpdating = False With ActiveSheet .Rows("12").EntireRow.Hidden = True ' hide the rows you want hidden .Rows("15").EntireRow.Hidden = True ' hide the rows you want hidden .PrintOut .Rows("12").EntireRow.Hidden = False ' unhide them after .Rows("15").EntireRow.Hidden = False End With Application.EnableEvents = True Application.ScreenUpdating = True End If End Sub 

我把打印区域总数分成不超过255个字符的块。

我将每个块导出到一个单独的excel行,然后遍历每一行,设置excel打印区域,并打印,因为我去了。