MsgBox в vba не поддерживает печать списков, как вы пытаетесь. Вы увидите, что если вы сделаете MsgBox Test(1)
, это даст вам вывод. Тем не менее, я подозреваю, что это только вы тестируете, если у вас есть правильный вывод. Чтобы добавить это в список, это не имеет значения, это можно сделать так, как вы пытались:
Sheet1.ListBox1.List = Test()
В соответствии с вашими комментариями, это должно быть помещено в список на форме пользователя вместо конечной цели. сохранить строки с 4 по 24 в коде инициализации пользовательской формы. Это может быть сделано согласно ниже:
Private Sub UserForm_Initialize()
Dim Myrange As Range
Dim Test(4 To 24) As String
Dim name As String
Dim i As Integer
name = Sheets("Name of Blad3").Cells(1, 2)
Set Myrange = Sheets("AthletesTable").Range("A1:L24")
Myrange.Select
For i = 4 To 24
Test(i) = Application.WorksheetFunction.HLookup(name, Myrange, i, False)
Next i
UserForm1.ListBox1.List = Test()
End Sub