VBA:仅在某些行之后分页

时间:2016-11-17 09:22:42

标签: excel vba excel-vba page-break

我在Excel中使用宏自动填充excel。生成的工作表可能如下所示:

<script>
$.ajax({url: "send.jsp", 
        data: $('#dom-realitka-notifikacia').serialize(),
        success: function(result){
        //do something like showing success message
    }});
</script>

当我打印此列表时,分页符是随机创建的,可能会剪切一篇文章(例如第1页上的名称和价格,第2页上的文字)。

如何告诉宏只允许在包含&#34;产品文本&#34;的行之后的分页符。不幸的是,我不能告诉他每隔x行做一次,因为由于分组行,步骤并不总是相同。

由于

2 个答案:

答案 0 :(得分:0)

粘贴&#34;产品文字&#34;阻止,检查您是哪一行,并将其分配给变量TarRow。然后使用:

Worksheets("Sheet1").Rows(TarRow).PageBreak = xlPageBreakManual

我假设您在第1页上并且有一个循环,所以如果您将其插入循环中,它将适用于所有产品吗?

对于未来,请记住,提供一个示例总是更好,以便我们可以看到代码。

答案 1 :(得分:0)

试试这个:

Sub add_HPBreak()

Dim HPBreak As HPageBreak
Dim i As Long, lastrow As Long


'set your last row as required
lastrow = ActiveSheet.Rows.Count + 1
ActiveWindow.View = xlPageBreakPreview

For i = 1 To lastrow

        For Each HPBreak In ActiveSheet.HPageBreaks
        'assuming product text string is in column 1
        If InStr(ActiveSheet.Cells(i, 1).Value, "product text") > 0 Then
            ActiveSheet.Cells(i, 1).EntireRow.Select
            ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=ActiveCell

        End If

    Next

Next

ActiveWindow.View = xlNormalView


End Sub