在' pagebreak'之后保留原始表格格式。

时间:2015-06-16 03:44:39

标签: excel excel-vba formatting page-break vba

所以,这里是成品,带有工作声明表的账目报表,以及老化分析:

Statement of accounts sample

一切都很好。它基本上用另一个表中的数据逐行填充。以下是示例代码:

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

所以我在某种程度上编码了#39;动态分页,使用代码行:

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

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

因此,如果您不关心后续的表格格式,那么代码行基本上有效:&gt;&lt;

bad table formatting on other pages

所以有人知道如何继续使用上一个表格的格式,即第二页原始页面中的绿色和白色语句表吗?或者是否有某种方法可以在第二页中预加载表格格式(请记住,并非所有语句都需要第二页)。或者甚至可能在分页触发时修补打印设置?或任何其他创意解决方案?

我没有使用VBA处理多个页面的经验,坦率地说,我甚至不知道如何在页面之间进行导航。我不能足够强调这个代码是我的业余尝试用excel做有用的东西,所以必须有改进的余地!

1 个答案:

答案 0 :(得分:1)

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