【问题标题】:Define range between two page breaks excel VBA定义两个分页符之间的范围excel VBA
【发布时间】:2017-03-29 04:36:03
【问题描述】:

我有一个由多个分页符分隔的 Excel 工作表 - 对于 C 列中的每个更改(C 列代表特定的 ProjecID)。

表格的每一行都包含一定的已花费金额。此金额存储在 Q 列中。(注意 - 每个项目可以有多行 - Q 列中的金额)。

取决于每个项目(C 列)的小计金额(Q 列)是 0, 应在该范围内执行不同的操作。

问题 - 如何遍历这些范围(在两个分页符之间)以检查小计金额并对每个范围内的行执行适当的操作?

提前谢谢你

【问题讨论】:

    标签: excel vba


    【解决方案1】:

    下面的代码删除所有以前的页面&然后你可以设置一个范围,

    Sub PageBreak()     
    Dim CellRange As Range   
    Dim TestCell As Range
    
    Set CellRange = Selection   
    For Each TestCell In CellRange
        ActiveSheet.Rows(TestCell.Row).PageBreak = xlPageBreakNone       
        If TestCell.Value <> TestCell.Offset(-1, 0).Value Then
            ActiveSheet.Rows(TestCell.Row).PageBreak = xlPageBreakManual         
        End If     
    Next TestCell 
    End Sub
    

    注意:选择要从中拆分的单元格,不要计算 Col 标题,例如,如果 Country 名称位于 D 列的第 2 行到第 30 行,则选择 D3 到 D30 中的范围。

    【讨论】:

      【解决方案2】:

      试试这个。它从所有工作表中删除分页符。希望对您有所帮助。

             Sub PageBreak()
      
               Dim ws As Worksheet, tws As Worksheet
                  Set tws = ActiveSheet
                  For Each ws In Worksheets
                      ws.Activate
                      ActiveWindow.View = xlPageBreakNone
                     Next ws
                      tws.Activate
              End Sub
      

      【讨论】:

      • 感谢您的帮助,将在以后的编码中证明是有用的。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-08-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多