предложу такой вариант:
в модуль листа
[vba]Код
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If ActiveCell.Column = 1 Then
If ActiveCell = "" Then
ActiveCell = "a"
Else
ActiveCell = ""
End If
Cancel = True
End If
End Sub
[/vba]
двойным кликом по ячейке столбца А проставляется/снимается галка
обратите внимание на шрифт = Marlett
вместо Вашего макроса:
[vba]Код
Sub Макрос3()
u = Cells(Rows.Count, 1).End(xlUp).Row
For Each c In Range("a1:a" & u)
If c = "a" Then
Rows(c.Row).Copy Sheets("Лист2").Range("a1")
'тут остальной макрос
End If
Next
End Sub
[/vba]