首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在Excel中循环遍历区域的每一行

在Excel中循环遍历区域的每一行
EN

Stack Overflow用户
提问于 2009-09-22 23:53:36
回答 3查看 463K关注 0票数 122

这是我确信有一个内置函数来处理的事情之一(我以前可能已经被告知过),但我正在抓紧我的头来记住它。

如何使用Excel VBA遍历多列区域的每一行?我搜索的所有教程似乎都只提到了一维范围内的工作……

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 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
票数 166
EN

Stack Overflow用户

发布于 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
票数 162
EN

Stack Overflow用户

发布于 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中操作数据的一种非常强大的方法。

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1463236

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档