这是我确信有一个内置函数来处理的事情之一(我以前可能已经被告知过),但我正在抓紧我的头来记住它。
如何使用Excel VBA遍历多列区域的每一行?我搜索的所有教程似乎都只提到了一维范围内的工作……
发布于 2009-09-23 00:19:24
Dim a As Range, b As Range
Set a = Selection
For Each b In a.Rows
MsgBox b.Address
Next
发布于 2009-09-22 23:58:48
如下所示:
Dim rng As Range
Dim row As Range
Dim cell As Range
Set rng = Range("A1:C2")
For Each row In rng.Rows
For Each cell in row.Cells
'Do Something
Next cell
Next row
发布于 2015-12-09 09:33:51
只是偶然发现了这一点,并认为我应该提出我的解决方案。我通常喜欢使用将范围分配给多维数组的内置功能(我猜这也是我的JS程序员)。
我经常写这样的代码:
Sub arrayBuilder()
myarray = Range("A1:D4")
'unlike most VBA Arrays, this array doesn't need to be declared and will be automatically dimensioned
For i = 1 To UBound(myarray)
For j = 1 To UBound(myarray, 2)
Debug.Print (myarray(i, j))
Next j
Next i
End Sub
为变量指定范围是在VBA中操作数据的一种非常强大的方法。
https://stackoverflow.com/questions/1463236
复制相似问题