【问题标题】:Loop through the first column of a table range in Excel using VBA使用 VBA 循环遍历 Excel 中表格范围的第一列
【发布时间】: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

【问题讨论】:

    标签: excel loops range vba


    【解决方案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
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2015-10-14
        • 2016-05-21
        • 1970-01-01
        • 2018-05-11
        • 2011-12-11
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多