在 'pagebreak' 之后保留原始 table 格式

Retaining original table formatting after a 'pagebreak'

这是成品,带有工作报表的会计报表 table,以及帐龄分析:

一切正常。它基本上用来自另一个 table 的数据逐行填充自己。这是示例代码:

j = 21 'First row on the statement of accounts workbook

For k = 1 To TSOA.ListRows.Count 'TSOA is the original data table

If Not TSOA.DataBodyRange.Rows(k).Hidden Then 'excludes the filtered entries

    SOAwb.Worksheets(1).Cells(j, 4) = TSOA.DataBodyRange(k, 6) 'Debit
    SOAwb.Worksheets(1).Cells(j, 5) = TSOA.DataBodyRange(k, 7) 'Credit
    SOAwb.Worksheets(1).Cells(j, 1) = TSOA.DataBodyRange(k, 3) 'Date

    <some other similar code goes here>

    j = j + 1 'forces next row

    If (j + 4) Mod 50 = 0 Then 'Increase footer, since there are only 50 rows in a page
        j = j + 12 'Increase header
    End If
End If

Next

所以我编写了一个 'somewhat' 动态分页符,使用代码行:

If (j + 4) Mod 50 = 0 Then
j = j + 12 'Increase header
End If

其中 (j + 4) 是页脚分页的触发器,Mod 50 用 (j+4) 除以 50 得到余数。因此,如果它可以完全整除,则结果 = 0。 j + 12 有助于跳过 header 徽标,您将在下一张图片中理解原因。

因此,如果您不关心后续的 table 格式,这行代码基本上可以工作:><

那么有谁知道如何在第二页继续之前table的格式,即原始页面中的绿色和白色语句table?或者有什么方法可以在第二页中预加载 table 格式(请记住,并非所有语句都需要第二页)。或者甚至在分页触发时修改打印设置?或任何其他创造性的解决方案?

我对使用 VBA 处理多个页面的经验为零,坦率地说,我什至不知道如何在页面之间导航。我怎么强调都不为过,这段代码是我用 excel 做有用事情的业余尝试,所以一定有改进的余地!

只需更改页边距即可排除前几行,但仍然需要手动分页!