如何使用VBA遍历所选范围内的每一行

3
理想情况下,我希望能够选择一个范围,然后运行宏,希望宏基本上可以运行循环来遍历每一行,以便从每一行中提取信息,直到达到范围的末尾。
例如,A6:B9 被选中,首先我想聚焦在 A6:B6 上。也就是说,我想能够找到两个单元格的最小值,例如使用我的 MinSelected 函数(下面有说明),该函数需要一个选定的范围,理想情况下应为 A6:B6。我想对原始范围的每一行都这样做,直到达到范围的末尾。
Function MinSelected(R As Range)
    MinSelected = Application.WorksheetFunction.min(R)
End Function

有没有办法做到这一点?请告诉我任何不清楚的地方。提前致谢。
2个回答

3
你可以循环遍历行 - 但是遍历变量数组更加高效(对于许多行)。 变量数组
Dim X
Dim lngCnt As Long
X = Range("A6:B9").Value2
For lngCnt = 1 To UBound(X)
    Debug.Print Application.Min(Application.Index(X, lngCnt))
Next

range approach

Dim rng1 As Range
Dim rng2 As Range
Set rng1 = Range("A6:B9")
For Each rng2 In rng1.Rows
    Debug.Print Application.Min(rng2)
Next

非常感谢!正是我所需要的 :) - hotkoreanchick

1

使用 For 循环,Rows.Count 属性和 Columns.Count 属性。

Dim i as long
For i = 1 to Selection.Rows.Count
   For j = 1 To Selection.Columns.Count
       Cells(i, j).Value ' Use this to access the value of cell in row i and column j

好的,这将遍历我选择的范围,但这并不一定会激活每一行让我能够访问每一行所需的信息吗? - hotkoreanchick

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接