Можно, конечно, и на смену выделения ячейки, но несомненно лучше делать это на двойной щелчок, так как смена выделения будет срабатывать и при перемещении табличного курсора стрелками.
В модуле того самого листа на объект Worksheet добавьте нужный обработчик:
SelectionChange - На смену выделения
BeforeDoubleClick - на двойной щелчок
На всякий случай, немного о том, как добавляется обработчик:
Из оукна проекта откроем модуль листа Лист1 (или ка он там называется).
Над текстом модуля выше есть 2 поля со списком.
В левом выберем объект Worksheet а в правом название события BeforeDoubleClick.
Получится:
Код: Выделить всё
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
End Sub
Чтобы узнать, какую ячейку пощелкали будем использовать параметр Target, а в конце работы сделаем Cancel=true, чтобы не происходило то, что обычно происходит при двойном щелчке (а происходило только наше действие)
Код: Выделить всё
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Select Case Target.Address
Case "$A$1"
range(...).Sort ...
Cancel = True
Case "$A$2"
range(...).Sort ...
Cancel = True
End Select
End Sub