Much accomplished. I do have some questions about layout for you.
First, open the version here and look at 9Team. It’s not even 9 teams yet, but play with the match that has the really heavy border around it by carefully selecting that group of cells. (It will want to show the arrow icon, make sure you miss that and start selecting in one of the corners with the normal selection icon.) Drag it around. See how much fun it is! But, you’ll notice that the next match breaks with an #NA if the moved match dips below the next match. That’s because flow-down arrows expect the arrow tail to be with the bottom player of the previous match, and flow-up matches expect the arrow tail with the top player. Look around at working matches and it’s pretty clear.
Fixing this really makes the code easier, if all arrows flow from, say, the bottom player. But I don’t like that graphically as much.
The big match (final game) has another problem, left/right instead of up/down. I’m curious if you have ideas about how to graphically separate that match so that the top player rests under the word Center up above, but the bottom player is right of Center.
Row spacing??? Do you want the pre-rounds to have one row in common with the first main round (QF1), be above and below them, or ??? Of course, if they don’t share a row then the horizontal spacing has to be increased to 4 empty rows between first main round matches. We seem to have enough horizontal space, but perhaps it would be too toothy? And it would not expand to 16+ teams very well.
Although hidden, there are now two macros to copy a bracket. One copies a live bracket, that then would just need to be assigned a new player list. This is what will be used for development from 9 to 10, etc. The other copies by making an archive. It breaks all player links and just puts the names in place, so you can archive a match to show later without having to occupy a player list, and without the risk of accidently resetting the player list. So, don’t worry about copying sheets with arrows; it’s handled.
Okay–you’ll want to know about how player lookup works. It’s simple. The left of Life 1 or right of Life 2 matches has the connection boxes. That either links to a previous match, or has a number in it. If it links, then the player white space (nearly) beside it will just have =Winner and pick the winner by following the arrow. If it has a number then the white space (nearly) beside it will have =PlayerLookup and get the player from the PlayerList on the PlayerLists sheet that matches the sheet name in question.
To put in the right number is easy. First, set all the links/arrows, hence, all the =Winner lines. Then start at the top and in insertion order put in the numbers 1,2,3,4,… Insertion order is the exact top-to-bottom order you have on the ByeBrackets sheet–but you aren’t entering those numbers, just 1,2,3,4,… The program will translate these into the correct team number, then use that team number (player if single player) to do a lookup on the randomization on the player list.
Next question: How do you want pairing to occur for pairs. The simplest way is to pick the first player identically to single rounds, then add half of the number of players to that for the second player on the team. So with 8 teams 1 and 9 play together, 2 and 10, etc. For randomized teams it doesn’t matter, really. However…
Next next question: Do you foresee wanting a non-random option, where the players compete in the order actually listed on the player list. This option is trivial programmatically, but if we use the 1&9, 2&10 solution, then teams would have to be added that way to the player list, which is very unnatural.
Brackets for Pool Auto Jo9.ods (62.9 KB)