[英]How to go through each row within a selected range using VBA
Ideally, I would have a range selected and then I would run the macro and I want the macro to essentially run a loop to go through each row so I can extract information from each row until it reaches the end of the range. 理想情况下,我将选择一个范围,然后运行宏,并且我希望宏实质上运行循环遍历每一行,以便可以从每一行提取信息,直到达到范围的末尾为止。
For example, A6:B9 are selected, first I want to focus on A6:B6. 例如,选择了A6:B9,首先我要关注A6:B6。 As in I want to be able to find the min value of the two cells for instance, using my MinSelected function(stated below) which requires a selected range which would ideally be A6:B6.
如我希望能够使用我的MinSelected函数(如下所述)找到两个单元格的最小值,这需要一个选定的范围,理想情况下应为A6:B6。 And I want to do this for each row until the end of the original range.
我想对每一行执行此操作,直到原始范围结束。
Function MinSelected(R As Range)
MinSelected = Application.WorksheetFunction.min(R)
End Function
Is there any way to do this??? 有什么办法做到这一点??? Please tell me to clarify anything that's unclear.
请告诉我澄清所有不清楚的地方。 Thanks in advance.
提前致谢。
You can loop through rows - but looping through a variant array is more efficient (for many rows) 您可以遍历行-但是遍历变量数组效率更高(对于许多行)
variant 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
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
Use a For
loop, Rows.Count
property, Columns.Count
使用
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
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.