Option Explicit
Private T&(1 To 27), PCou&
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Address = "$B$3" Then
PCou = PCou Mod 27 + 1
If PCou = 1 Then InitT
Me.[D5].Value = T(PCou)
Me.[D5].Interior.Color = Choose((T(PCou) - 1) \ 3 + 1, &H9090FF, &HB4E1&, _
&HD2A8&, &HED00&, &HB9E000, &HFFD200, &HFFAEAE, &HFF8DE0, &HDD7AFF)
Application.Goto Me.[D5]: End If
End Sub
Sub InitT()
Dim J&, K&, N&
For J = 1 To 27: T(J) = J: Next J
Randomize
For J = 1 To 27
K = Int(Rnd * 27 + 1)
If K <> J Then N = T(J): T(J) = T(K): T(K) = N
Next J
End Sub