You can't. A function can only return a value.
You could use event code to monitor a cell and then run the macro if it
takes a certain value
Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo ws_exit:
Application.EnableEvents = False
If Not Intersect(Target, Me.Range("H10")) Is Nothing Then
With Target
If .Value = "a" Then
myMacro
End If
End With
End If
ws_exit:
Application.EnableEvents = True
End Sub
'This is worksheet event code, which means that it needs to be
'placed in the appropriate worksheet code module, not a standard
'code module. To do this, right-click on the sheet tab, select
'the View Code option from the menu, and paste the code in.
--
HTH
RP
(remove nothere from the email address if mailing direct)
"Rod" wrote in message
...
How can I have an "IF" statement run a macro, i.e.
=If("a"="a",RunMacroHere,"") ?
Thanks
|