【问题标题】:counting a range (rows) begingin in B3从 B3 开始计算范围(行)
【发布时间】:2019-05-04 17:10:08
【问题描述】:

我的数据从 B3 开始并且是动态的,因此它的范围可能是 5 行到 500 行。我想遍历该范围内的行数。

这是一个关于签入报告数量的数据查询。

Dim range1 As Range

Set range1 = Sheet1.Range("B3 : B" & Cells(Rows.Count)).End(xlUp).Rows

结果应该是范围 B3:B46 或任何结束行号。

【问题讨论】:

    标签: excel vba


    【解决方案1】:

    试试这个:

     Dim cell As Range
    
        For Each cell In Sheet1.Range("B3:B" & Sheet1.Cells(Sheet1.Rows.count, 2).End(xlUp).Row)
            'Do your stuff
        Next cell
    

    【讨论】:

      【解决方案2】:

      另一种方法可以为您提供包含数据的最后一行:

      Option Explicit
      Sub RowCount()
      
          Dim WS As Worksheet
          Dim lrow As Long
      
          Set WS = ActiveSheet
      
          With WS
              lrow = .Range("B" & .Rows.Count).End(xlUp).Row - 2
          End With
      End Sub
      

      【讨论】:

        【解决方案3】:

        试试这个

        Dim range1 As Range
        Dim x as long
        
        With Sheet1
            x= .Cells(.rows.Count, 2).End(xlUp).Row
            Set range1 = .Range("B3", .Cells(x,2))
        End with
        

        【讨论】:

          【解决方案4】:

          最简单的方法是使用.End(xlUp) 属性。

          Dim rng as Range: Set rng = Sheet1.Range("B3:B" & Sheet1.Cells(Rows.Count, 2).End(xlUp).Row)
          

          现在您将B3:B<last_row> 存储在变量rng 中

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2018-08-14
            • 1970-01-01
            • 1970-01-01
            • 2018-02-13
            • 1970-01-01
            • 1970-01-01
            • 2017-11-10
            相关资源
            最近更新 更多