Это потому, что вы присваиваете массив значений заголовков первому элементу в вашей коллекции. Таким образом, вам потребуется l oop для каждого элемента в вашем массиве следующим образом ...
Dim item As Variant
For Each item In TmProducts(1)
Debug.Print item
Next item
Однако, поскольку вы, вероятно, захотите назначить каждое значение заголовка отдельному элементу в вашей коллекции, вам нужно будет назначить их следующим образом ...
Dim currentCell As Range
For Each currentCell In TmTable.ListObjects("Table1").HeaderRowRange
TmProducts.Add currentCell.Value
Next currentCell
Затем вы сможете получить доступ к элементам вашей коллекции следующим образом ...
Dim item As Variant
For Each item In TmProducts
Debug.Print item
Next item