Excel 每次出现不同值时插入分页符

Excel 每次出现不同值时插入分页符,excel,vba,loops,search,page-break,Excel,Vba,Loops,Search,Page Break,我试图在D列中发现不同值的行上方插入一个分页符。我发现这段代码作为一个开始很有帮助。它正在搜索一个特定的单词并在那里创建一个分页符。但是如果这个词并不总是有定义呢?是否有人可以帮助更新此代码或提供有关如何在找到不同值时创建分页符的反馈? 下表为示例。它应该在D列中的每个不同发票号上方创建一个分页符。如果循环更容易,请在那里提供帮助 Sub InsertPageBreakAtDifValue() Dim x As Integer Dim LR As Integer LR = Cells(Ro

我试图在D列中发现不同值的行上方插入一个分页符。我发现这段代码作为一个开始很有帮助。它正在搜索一个特定的单词并在那里创建一个分页符。但是如果这个词并不总是有定义呢?是否有人可以帮助更新此代码或提供有关如何在找到不同值时创建分页符的反馈? 下表为示例。它应该在D列中的每个不同发票号上方创建一个分页符。如果循环更容易,请在那里提供帮助

Sub InsertPageBreakAtDifValue()
 Dim x As Integer
 Dim LR As Integer
 LR = Cells(Rows.Count, 1).End(xlUp).Row
  For x = 1 To LR
  If Cells(x, 1).Value = "Invoice Total" Then
 ActiveSheet.HPageBreaks.Add Before:=Rows(x + 1)
  End If
  Next
End Sub
线 价值 量 发票联 10 100 10 12345 20 100 10 12345 30 100 10 12345 40 100 10 56789 50 100 10 56789 60 100 10 56789 70 100 10 78910
首先确保数据范围按发票编号排序

Dim invNo As Integer
Dim prevInvNo As Integer

prevInvNo = 0
For x = 1 to LR
    invNo = Cells(x, 1).Value
    ' if invoice number has changed...
    if prevInvNo <> invNo then
        ' don't insert a page break before the first invoice number
        if prevInvNo > 0 then
            ActiveSheet.HPageBreaks.Add Before:=Rows(x + 1)
        end if
        prevInvNo = invNo  
    end if
next x
Dim invNo作为整数
Dim PREVIVNO为整数
prevInvNo=0
对于x=1至LR
invNo=单元格(x,1)。值
'如果发票编号已更改。。。
如果没有,那么
'不要在第一个发票编号前插入分页符
如果PrevivNo>0,则
ActiveSheet.HPageBreaks.Add Before:=行(x+1)
如果结束
prevInvNo=invNo
如果结束
下一个x