Excel分页符宏

时间:2018-01-30 21:48:20

标签: excel vba excel-vba

尝试附加宏来修复因工作表导出方式发生变化而出现的问题。我希望代码行只选择名为invoice的工作表,删除所有分页符,然后查找带有" grand Total"并在其下方放置一个分页符。

If ActiveSheet.Name = "Invoice" Then
    ActiveSheet.ResetAllPageBreaks
End If

If Range(A, H).FormulaR1C1 = "Grand Total" Then
    ActiveWindow.SelectedSheets.HPageBreaks.Add Cell.Offset(1, 0)
End If

我做错了什么?

1 个答案:

答案 0 :(得分:1)

有一些事情会导致代码无法按预期执行。

1)直接使用“发票”表单,无需ActiveSheetIF阻止。

With Worksheets("Invoice")
    .ResetAllPageBreaks

2)使用Find功能查找单元格中的文字。

    Dim grandTotal as Range
    Set grandTotal = .Range("A:H").Find("Grand Total", lookat:=xlWhole)

    If Not grandTotal is Nothing Then 'make sure you found it
        .HPageBreaks.Add grandTotal.Offset(1)
    End If

 End With