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

时间:2015-02-24 21:10:41

标签: excel excel-vba vba

理想情况下,我会选择一个范围,然后我会运行宏,我希望宏基本上运行一个循环来遍历每一行,这样我就可以从每一行中提取信息,直到它到达范围的末尾。

例如,选择A6:B9,首先我要关注A6:B6。因为我希望能够找到两个单元格的最小值,例如,使用我的MinSelected函数(如下所述),它需要一个理想情况下为A6:B6的选定范围。我希望每行都执行此操作,直到原始范围结束。

Function MinSelected(R As Range)
    MinSelected = Application.WorksheetFunction.min(R)
End Function

有没有办法做到这一点?请告诉我澄清一些不清楚的事情。提前谢谢。

2 个答案:

答案 0 :(得分:1)

您可以循环遍历行 - 但循环遍历变量数组更有效(对于许多行)

变种aray

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

范围方法

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

答案 1 :(得分:0)

使用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