Option Explicit
Const BWidth = 4
Sub who_wins()
Dim txt As String
txt = Worksheets("game").Shapes(Application.Caller).DrawingObject.Text
txt = Left(txt, Len(txt) - 5)
Worksheets("Match").Unprotect
Worksheets("Match").Cells(Worksheets("DATA").Cells(2, 1), Worksheets("DATA").Cells(3, 1)) = txt
Worksheets("Match").Protect
ActiveWindow.DisplayVerticalScrollBar = True
ActiveWindow.DisplayHorizontalScrollBar = True
Worksheets("Game").Visible = False
If Selection.Address = "$H$26" Then
Call show_winner(txt)
Call update_league
End If
End Sub
Sub show_winner(winner As String)
Worksheets("Game").Shapes(winner).CopyPicture
Worksheets("match").Unprotect
Worksheets("match").Paste
Selection.Name = "winner"
Worksheets("match").Shapes("winner").Width = Worksheets("match").Shapes("winner").Height * (Worksheets("match").Shapes("winnerFrame").Height - BWidth) / Worksheets("match").Shapes("winner").Height
Worksheets("match").Shapes("winner").Height = Worksheets("match").Shapes("winner").Height * (Worksheets("match").Shapes("winnerFrame").Height - BWidth) / Worksheets("match").Shapes("winner").Height
If Worksheets("match").Shapes("winner").Width > Worksheets("match").Shapes("winnerFrame").Width Then
Worksheets("match").Shapes("winner").Height = Worksheets("match").Shapes("winner").Height * (Worksheets("match").Shapes("winnerFrame").Width - BWidth) / Worksheets("match").Shapes("winner").Width
Worksheets("match").Shapes("winner").Width = Worksheets("match").Shapes("winner").Width * (Worksheets("match").Shapes("winnerFrame").Width - BWidth) / Worksheets("match").Shapes("winner").Width
End If
Worksheets("match").Shapes("winner").Top = Worksheets("match").Shapes("winnerFrame").Top + (Worksheets("match").Shapes("winnerFrame").Height - Worksheets("match").Shapes("winner").Height) / 2
Worksheets("match").Shapes("winner").Left = Worksheets("match").Shapes("winnerFrame").Left + (Worksheets("match").Shapes("winnerFrame").Width - Worksheets("match").Shapes("winner").Width) / 2
Worksheets("match").Protect
End Sub
Sub update_league()
Dim r As Long, c As Long, i As Integer
For r = 9 To 57
For c = 5 To 11
If Not Worksheets("match").Cells(r, c).Value = "" Then
For i = 1 To 64
If Worksheets("data").Cells(i, 7).Value = Worksheets("match").Cells(r, c).Value Then Worksheets("data").Cells(i, 8).Value = Worksheets("data").Cells(i, 8).Value + 1
Next i
End If
Next c
Next r
Worksheets("DATA").Cells(1, 1).Value = Worksheets("DATA").Cells(1, 1).Value + 1
Call Worksheets("DATA").Range("g1:h64").Sort(Worksheets("DATA").Range("h1"), xlDescending)
Worksheets("match").Unprotect
Worksheets("match").Shapes("LeagueTitle").DrawingObject.Text = "LEAGUE TABLE AFTER GAME " & Worksheets("DATA").Cells(1, 1).Value
Worksheets("match").Shapes("LeagueName").DrawingObject.Text = Worksheets("DATA").Cells(1, 7) & Chr(10) & Worksheets("DATA").Cells(2, 7) & Chr(10) & Worksheets("DATA").Cells(3, 7) & Chr(10) & Worksheets("DATA").Cells(4, 7) & Chr(10) & Worksheets("DATA").Cells(5, 7)
Worksheets("match").Shapes("LeaguePoints").DrawingObject.Text = Worksheets("DATA").Cells(1, 8) & Chr(10) & Worksheets("DATA").Cells(2, 8) & Chr(10) & Worksheets("DATA").Cells(3, 8) & Chr(10) & Worksheets("DATA").Cells(4, 8) & Chr(10) & Worksheets("DATA").Cells(5, 8)
Worksheets("match").Protect
If Worksheets("DATA").Cells(1, 1).Value = 1 Then
Open ActiveWorkbook.Path & "\LEAGUE.TXT" For Output As #1
For i = 1 To 8
Print #1, Worksheets("data").Cells(i, 7).Value; Tab; Worksheets("data").Cells(i, 8).Value
Next i
Close #1
End If
End Sub