Excel VBA分页问题

时间:2015-03-13 12:52:43

标签: excel vba excel-vba

我有一个电子表格,我需要打印成两页文档,但第一页将包含可变数量的行(其他行被隐藏)。

我希望分页符发生在特定的行引用(257)但我遇到代码问题 - 它似乎忽略了命令并将分页符放在想要的位置或返回错误码。 有时候我认为我只是关闭,重新打开并发现我仍然有错误。

我尝试了各种使用

的组合
ActiveSheet.HPageBreaks.Add before:=ActiveSheet.Cells(257, 1)
Set ActiveSheet.HPageBreaks(1).Location = Cells(257, 1)

包括使用Range.cells(A257)和/或使用行描述符等, 使用xlPageBreakManual等强制中断手动。

目前的代码如下:

Sub Print2Copies()

ActiveSheet.Unprotect 

Rows("87:90").EntireRow.Hidden = True
Rows("259:304").EntireRow.Hidden = False
Rows("255:255").EntireRow.Hidden = True


ActiveSheet.ResetAllPageBreaks
ActiveSheet.PageSetup.PrintArea = "$A$1:$T$305"
ActiveSheet.HPageBreaks.Add before:=Cells(257, 1)

Application.PrintCommunication = False

With ActiveSheet.PageSetup
    .Orientation = xlPortrait
    .Draft = False
    .PaperSize = xlPaperA3
    .FitToPagesWide = 1
    .FitToPagesTall = 2
End With

Application.PrintCommunication = True
Set ActiveSheet.HPageBreaks(1).Location = Cells(257, 1)

ActiveSheet.PrintOut Copies:=1, Collate:=True, _
    IgnorePrintAreas:=False ', Preview:=True ', BlackAndWhite:=False

Rows("87:90").EntireRow.Hidden = False
Rows("259:304").EntireRow.Hidden = True
Rows("255:255").EntireRow.Hidden = False

ActiveSheet.Protect 

End Sub

0 个答案:

没有答案