2012-10-05 67 views
6

Esto debería ser bastante sencillo pero estoy un poco atascado.Pasa por la primera columna de un rango de tabla en Excel usando VBA

Tengo una tabla llamada "ClientReturns" en una hoja de trabajo. La primera columna de esta tabla contiene el número de cuenta de un cliente.

Quiero recorrer la tabla obteniendo el número de cuenta cada vez. Esto es lo que tengo hasta ahora, pero también pasa por los datos en las otras columnas cuando solo quiero los datos en la primera columna.

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 

Muchas gracias por las respuestas ... Lo resuelto con esto:

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 

Respuesta

6

Más directamente al igual trabajar con la primera columna

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 
0

For Each tRow In ClientTable se interpreta como For Each tRow In ClientTable.Cells
probar este lugar:
For Each tRow In ClientTable.Rows

Cuestiones relacionadas