使用 VBA 循环遍历 Excel 中表格范围的第一列
Posted
技术标签:
【中文标题】使用 VBA 循环遍历 Excel 中表格范围的第一列【英文标题】:Loop through the first column of a table range in Excel using VBA 【发布时间】:2012-09-26 12:43:13 【问题描述】:这应该很简单,但我有点卡住了。
我在工作表中有一个名为“ClientReturns”的表。此表的第一列包含客户的帐号。
我想每次都遍历表来获取帐号。这是我到目前为止所拥有的,但当我只想要第一列中的数据时,它也会遍历其他列中的数据。
Sub doStuff()
Set ClientTable = Sheets("Returns").range("ClientReturns")
For Each tRow In ClientTable
AccNum = tRow.Columns(1).Value
'Do stuff with the account num
Next AccNum
End Sub
非常感谢您的回答...我解决了这个问题:
Sub getReturns()
Dim lookR As range, c As range
With Sheets("Returns").ListObjects("ClientReturns")
Set lookR = .ListColumns("Account Number").DataBodyRange
For Each AccNum In lookR.Cells
'Let's see if it's a combined account
Next AccNum
End With
End Sub
【问题讨论】:
【参考方案1】:For Each tRow In ClientTable
被解释为For Each tRow In ClientTable.Cells
试试这个:For Each tRow In ClientTable.Rows
【讨论】:
【参考方案2】:更直接地使用第一列
Dim ClientTable As Range
Dim rng1 As Range
Set ClientTable = Sheets("Returns").Range("ClientReturns")
For Each rng1 In ClientTable.Columns(1).Cells
AccNum = rng1.Value
Next
【讨论】:
以上是关于使用 VBA 循环遍历 Excel 中表格范围的第一列的主要内容,如果未能解决你的问题,请参考以下文章