【问题标题】:VBA Macro to print Columns A-J and every 40 rowsVBA 宏打印 A-J 列和每 40 行
【发布时间】:2016-10-15 01:52:25
【问题描述】:

我对 VBA 宏非常陌生。我正在尝试创建一个宏,它将为 A-J 列和每 40 行设置打印区域。每个工作表的总行数将发生变化,但列将保持不变。

到目前为止,我只能正确打印第一页。这就是我到目前为止所拥有的。

--

Sub formatSheets()


 For i = 40 To 1350 Step 40
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Cells(i + 1, 1)

Range("A1:J1350").Select

Next
End Sub

--

非常感谢您的帮助。

-玛丽

【问题讨论】:

  • 您的代码减去不需要的Range("A1:J1350").Select。为我工作。
  • 感谢您的回复。我试过了,但是当我打印工作表时,它打印了所有列。我不确定我做错了什么。

标签: vba


【解决方案1】:

在添加新的分页符之前,我会重置所有分页符并设置每张纸的打印区域。

Sub formatSheets()
    Dim ws As Worksheet
    For Each ws In ActiveWindow.SelectedSheets
        ws.PageSetup.PrintArea = Intersect(.Columns("A:J"), .UsedRange)
        ws.ResetAllPageBreaks
    End With

    With ActiveWindow.SelectedSheets


        For i = 40 To 1350 Step 40
           .HPageBreaks.Add Before:=Cells(i + 1, 1)
        Next
    End With
End Sub

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-10-18
    • 1970-01-01
    • 2022-11-17
    • 1970-01-01
    • 2019-08-06
    • 1970-01-01
    • 1970-01-01
    • 2015-10-15
    相关资源
    最近更新 更多