Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>Firstly: <br> VBA UDF performance is extremely sensitive to the way the UDF is coded: see my series of posts about writing efficient VBA UDFs:</p> <p><a href="http://fastexcel.wordpress.com/2011/06/13/writing-efficient-vba-udfs-part-3-avoiding-the-vbe-refresh-bug/" rel="nofollow">http://fastexcel.wordpress.com/2011/06/13/writing-efficient-vba-udfs-part-3-avoiding-the-vbe-refresh-bug/</a></p> <p><a href="http://fastexcel.wordpress.com/2011/05/25/writing-efficient-vba-udfs-part-1/" rel="nofollow">http://fastexcel.wordpress.com/2011/05/25/writing-efficient-vba-udfs-part-1/</a></p> <p>You should also consider using an Array UDF to return multiple results:<br> <a href="http://fastexcel.wordpress.com/2011/06/20/writing-efiicient-vba-udfs-part5-udf-array-formulas-go-faster/" rel="nofollow">http://fastexcel.wordpress.com/2011/06/20/writing-efiicient-vba-udfs-part5-udf-array-formulas-go-faster/</a> <br><br>Secondly:<br> The 12th post in this series outlines using the AfterCalculate event and a cache <a href="http://fastexcel.wordpress.com/2012/12/05/writing-efficient-udfs-part-12-getting-used-range-fast-using-application-events-and-a-cache/" rel="nofollow">http://fastexcel.wordpress.com/2012/12/05/writing-efficient-udfs-part-12-getting-used-range-fast-using-application-events-and-a-cache/</a> <br>Basically the approach you would need is for the UDF to check the cache &amp; if not current or available then add a request to the queue. <br> Then use the after-calculation event to process the queue and if neccessary trigger another recalc.</p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload