2012-07-10 81 views
0

我问一个问题,而回有关Excel打印区域的最大字符串长度:增加的Excel printArea中的最大字符串长度

Maximum String Length of PrintArea in Excel

打印区域被设置为255,为Excel 2010中

我认为这是一个只读属性,但(在这里抓着吸管),有什么办法来增加打印区域的长度? 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“

Works fine - 253 characters。范围(“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个字)

所以,我想现在我应该设置多个命名区域,然后将活动工作表打印区域,使用每个命名范围大转弯?

非常感谢。

+0

您未在下面标记/接受答案的原因是什么? – 2012-07-10 19:44:02

回答

1

我打破了总打印区域为不超过255个字符块。

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

2

作弊命名区域:

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

似乎有在指定范围255个字符的限制太多。

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

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 
+0

嗨肖恩,谢谢你,请参阅编辑。 – 2012-07-11 09:51:56

+0

更改了答案,因为命名范围也有255个字符限制 – SeanC 2012-07-11 13:22:07

+0

感谢Sean - 我认为我会将我的总打印区域字符串分解为各自具有255个字符或更少的单独区域 - 然后依次为其中的每个区域设置打印区域。 – 2012-07-11 15:22:48

相关问题