【发布时间】: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 或任何结束行号。
【问题讨论】:
我的数据从 B3 开始并且是动态的,因此它的范围可能是 5 行到 500 行。我想遍历该范围内的行数。
这是一个关于签入报告数量的数据查询。
Dim range1 As Range
Set range1 = Sheet1.Range("B3 : B" & Cells(Rows.Count)).End(xlUp).Rows
结果应该是范围 B3:B46 或任何结束行号。
【问题讨论】:
试试这个:
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
【讨论】:
另一种方法可以为您提供包含数据的最后一行:
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
【讨论】:
试试这个
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
【讨论】:
最简单的方法是使用.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 中
【讨论】: