I finally had a chance to fix all the issues with teams substituting in elimination round. The macro will check for team substitution and indicate during what match the substitution took place and which alliance it was. However it will not work if there is more than one substitution for the same alliance. Also there is a scenario that there is no way to tell there was a substitution. When a team accepted an invitation to be part of an alliance but never played in any of the elimination round matches because a substitute was called in for the first match in quarterfinals, there is no way to tell that this happened based on what FIRST publishes on their website.
I also make an enhancement that if the FTA provided me with the Alliance Selection report, the macro will read that picking order instead of trying to figure out based on alliance teams. In that case, you will not see something like "#3 or 14 pick" when it cannot be determined for sure.
Here is the link -->
http://www.chiefdelphi.com/media/papers/2174