Рандомайзер команд A и B без дубликатов - код работает только для команды A - PullRequest
0 голосов
/ 29 января 2020
Team 1 A,B,C
Team 2 D,E,F

Мой сценарий только для пар команды 1 (только для пары из 1 столбца). Как включить команду 2 в пару с командой 1 без дубликатов при следующем соединении?

Только для того, чтобы команда 1 была в паре с командой 2. Команду 1 не нужно соединять они уже в команде.

Sub RandomPairing()

  Dim Cnt As Long, RandomIndex As Long, Tmp As Variant, Arr As Variant
  Randomize

  Arr = Range("A2", Cells(Rows.Count, "A").End(xlUp))

  Arr = Range("B2", Cells(Rows.Count, "B").End(xlUp))

  For Cnt = UBound(Arr) To 1 Step -1
    RandomIndex = Int((Cnt - LBound(Arr) + 1) * Rnd + LBound(Arr))
    Tmp = Arr(RandomIndex, 1)
    Arr(RandomIndex, 1) = Arr(Cnt, 1)
    Arr(Cnt, 1) = Tmp

  Next
  Range("G4").Resize(UBound(Arr)) = Arr
  Range("G4").Offset(UBound(Arr) / 2).Resize(UBound(Arr)).Cut Range("H4")

End Sub

Токовый выход рандомизирует команду 1

A, B

C, A

B, C

Я бы хотел, чтобы текущий вывод был рандомизирован с командой 1 с командой 2

Выход:

A, D

C, F

B, D

без дубликатов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...