View Single Post
  #8   Report Post  
Posted to microsoft.public.excel.programming
Jacob Skaria Jacob Skaria is offline
external usenet poster
 
Posts: 8,520
Default Run a sub every time a function is used in a sheet

From workbook launch VBE using Alt+F11. From menu Insert a Module and paste
the below function.Close and get back to workbook and try the below formula.

=mysub(A1)
OR
=mysub(2)


Function mysub(argname As Variant) As Variant
mysub = argname * 2

If Application.Caller.Address = ActiveCell.Address Then Call macro
End Function

Sub macro()
MsgBox "ok"
End Sub

--
Jacob (MVP - Excel)


"Bob Phillips" wrote:


Maybe something like this

Public Sub Test()
MsgBox "hello"
End Sub

Function myTest(rng As Range)
If ActiveCell = Application.Caller Then Call Test
End Function

--

HTH

Bob

"Subodh" wrote in message
...
I have a custom function in Excel
I want to run other sub lets say to display a msg box each time the
function
is used in the sheet (not each time the function is calculated)
ie. only at the time the function is used in the sheet.
lets say in coding i want the following

Function myfunction (x as variant) as variant
myfunction = x+x
end function

sub mysub ()
'this should run each time the function
'my function is used in the cell
'not each time the function is calculated
msgbox "Myfunction is used in the active cell"
end sub



.