使用VBA在Excel中遍历表格范围的第一列

时间:2012-10-05 11:04:34

标签: excel excel-vba loops range vba

这应该非常简单,但我有点卡住了。

我在工作表中有一个名为“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

2 个答案:

答案 0 :(得分:6)

更直接地使用第一列

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

答案 1 :(得分:0)

For Each tRow In ClientTable 被解释为For Each tRow In ClientTable.Cells
试试这个:
For Each tRow In ClientTable.Rows