Tenho uma tabela chamada "Rastreador de vendas". Fiz um filtro automático e obtive meus resultados. Agora, quero transferir os campos visíveis para minha matriz chamada soArray. Na primeira vez que passo pelas células, funciona bem e coloco os 4 campos de que preciso na matriz. No entanto, após a primeira vez, recebo um "Erro de tempo de execução '9': Subscrito fora do intervalo". O que estou fazendo errado? Qualquer ajuda ou incentivo seria apreciado. Obrigado. Abaixo está meu código.
Sub getAllSO()
Dim wkb As Workbook
Dim wks As Worksheet
Set wkb = Workbooks("ScrubCentral.xlsm")
Set wks = wkb.Sheets("Sales Tracker")
Dim tbl As ListObject
Set tbl = wks.ListObjects("SalesTracker")
tbl.AutoFilter.ShowAllData
tbl.Range.AutoFilter field:=4, Criteria1:=">0"
Dim soArray() As Variant
Dim rngVisible As Range
Dim i As Long
Dim rCell As Range
With wks
With .AutoFilter.Range
Set rngVisible = .Offset(1, 0).Resize(.Rows.Count - 1, 1) _
.SpecialCells(xlCellTypeVisible)
End With
For Each rCell In rngVisible
i = i + 1
ReDim Preserve soArray(1 To i, 1 To 4)
soArray(i, 1) = rCell(i, 2)
soArray(i, 2) = rCell(i, 3)
soArray(i, 3) = rCell(i, 4)
soArray(i, 4) = rCell(i, 13)
Debug.Print soArray(i, 1), soArray(i, 2), soArray(i, 3), soArray(i, 4)
Next rCell
End With
End Sub