Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) Dim sheet As Worksheet If g_gameEnded = True Then Exit Sub End If Set sheet = ThisWorkbook.ActiveSheet If g_Ships Is Nothing Then Code.AddShips Battleship.Range(board1) If Collide(Target, Battleship.Range(board1)) Then If Target.Borders(xlDiagonalUp).Weight <> xlMedium Then SetHit Target Dim Ship Dim isHit As Boolean isHit = False For Each Ship In g_Ships If Ship.isHit(Target.Cells(1, 1), True) Then If CheckWinner(g_Ships) Then MsgBox "You win!", vbOKOnly + vbExclamation, "Battleships" g_gameEnded = True Cancel = True Exit Sub End If isHit = True Exit For End If Next If isHit = False Then Unprotect Battleship.Cells(g_logRow, 2).value = "You get a miss on " & Target.Address Battleship.Names("PlayerMisses").RefersToRange.value = Battleship.Names("PlayerMisses").RefersToRange.value + 1 g_logRow = g_logRow + 1 Protect "" End If ComputerPlay.Move End If End If Cancel = True End Sub Private Sub Worksheet_SelectionChange(ByVal Target As Range) Target.Cells(1, 1).Select End Sub