Bad idea, I think, because
1. it is not obvious what needs to be done to trigger the
macro; the cell looks like any other cell.
2. if rows or columns are inserted, the position of
the 'button' cell changes; its address needs to be trapped-
-see below.
BUT, if you must,
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As
Range, Cancel As Boolean)
If Target.Address = "$C$3" Then abc
Cancel = True
End Sub
Sub abc()
MsgBox "Macro can run here"
End Sub
If C3 is double clicked then the macro abc will be run.