尝试附加宏来修复因工作表导出方式发生变化而出现的问题。我希望代码行只选择名为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
我做错了什么?
答案 0 :(得分:1)
有一些事情会导致代码无法按预期执行。
1)直接使用“发票”表单,无需ActiveSheet
和IF
阻止。
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