Поместите это в личный кодовый лист рабочего листа (щелкните правой кнопкой мыши на вкладке имени рабочего листа, Просмотреть код) и отредактируйте, если необходимо, для ссылки на правильную кнопку ActiveX.
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("A1")) Is Nothing Then
CommandButton1.Enabled = CBool(Range("A1") = 1)
End If
End Sub
Private Sub CommandButton1_Click()
Range("a1").ClearContents
'do all the printing code here
MsgBox "printing ..."
End Sub