Ben*_*ack 54 excel vba excel-vba
假设我有以下代码:
Sub TestRangeLoop()
Dim rng As Range
Set rng = Range("A1:A6")
''//Insert code to loop through rng here
End Sub
Run Code Online (Sandbox Code Playgroud)
我希望能够Range为每个指定的单元格迭代一组对象rng.从概念上讲,我想这样做:
For Each rngCell As Range in rng
''//Do something with rngCell
Next
Run Code Online (Sandbox Code Playgroud)
我知道我可以通过手动解析rng.Address和构建Range对象来解决这个问题,但我希望有一种更直接的方法,不涉及字符串解析.
Dic*_*ika 85
Sub LoopRange()
Dim rCell As Range
Dim rRng As Range
Set rRng = Sheet1.Range("A1:A6")
For Each rCell In rRng.Cells
Debug.Print rCell.Address, rCell.Value
Next rCell
End Sub
Run Code Online (Sandbox Code Playgroud)
cod*_*ife 13
你可以使用Range.Rows,Range.Columns或Range.Cells.每个集合都包含Range对象.
以下是如何修改Dick的示例以便使用Rows:
Sub LoopRange()
Dim rCell As Range
Dim rRng As Range
Set rRng = Sheet1.Range("A1:A6")
For Each rCell In rRng.Rows
Debug.Print rCell.Address, rCell.Value
Next rCell
End Sub
Run Code Online (Sandbox Code Playgroud)
而且Columns:
Sub LoopRange()
Dim rCell As Range
Dim rRng As Range
Set rRng = Sheet1.Range("A1:A6")
For Each rCol In rRng.Columns
For Each rCell In rCol.Rows
Debug.Print rCell.Address, rCell.Value
Next rCell
Next rCol
End Sub
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
284514 次 |
| 最近记录: |