Один вариант, предложенный @Comintern, будет массивом UDT с двумя членами.
Опция, которая сохраняет ваши существующие массивы, заключается в добавлении индексного массива.Вы создаете целочисленный массив, имеющий то же количество элементов, что и ваши текущие массивы, и «самозаполняетесь» им: каждая запись имеет в качестве своего значения значение его индекса: Idx (1) = 1, Idx (2) = 2etc
Затем, сортируя результаты, вы получаете доступ к массиву через индексный массив [как, например, Scores (Idx (x))] и меняете значения индекса, а не значения Scores.Когда вы закончите, Idx (1) имеет значение индекса наименьшего значения баллов.Тот же индекс можно использовать для доступа к массиву Players.
Это проще сделать, чем объяснить.Google "индексированная сортировка" для примеров.
Часть возможного кода из вашего примера:
If Scores(Idx(i)) < Scores(Idx(j)) Then
temp = Idx(i)
Idx(i) = Idx(j)
Idx(j) = temp
End If