Home |
Search |
Today's Posts |
#4
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Hi Deepak,
To make a C function you need the Excel 97 SDK (or equivalent), which you can find online on the Microsoft site at http://msdn.microsoft.com/library/de...97/edkfrnt.htm and its framework http://download.microsoft.com/downlo...S/Frmwrk32.exe This will tell you (amongst other things) how to pass Excel ranges to C. I would strongly advise against using multiple area ranges as input to a UDF as Excel has a serious bug in handling these. (see http://www.DecisionModels.com/calcsecretsj.htm). Use multiple range arguments instead. for I am advised that Excel VBA can read cells pretty quickly This is not really correct. There is a high overhead associated with each transfer of data from Excel to VBA. So if you are reading cells one-by-one into VBA its is extremely slow, but if you read a large rectangular range into a variant variable it is relatively fast (but C is faster) (see http://www.DecisionModels.com/calcsecretsj.htm) If all you are doing is some kind of lookup then the process of looping through the variant array to find the answer using VBA will be fast compared to the time needed to read the excel range into the array. regards Charles ______________________ Decision Models FastExcel 2.1 now available www.DecisionModels.com "agarwaldvk " wrote in message ... Hi Charles Appreciate your quick response! I am quite happy to use a complete C solution as you suggested. However, the central issue here is how do I pass the contents of a range of cells to a C function? This is further complicated by the fact that this range can be multiple area range (with any number of range areas hence better suited for a named range with multiple range areas on one worksheet). Additionally, the cells even in one column can contain mixed data types. So what I have done is created a named range emcompassing the range of cells of interest. With this being the fundamental requirement, is there a way to pass the address of this Excel range to a C function. If there is, please let me know for I do not know how to. To get around this limitation of mine, what I was trying to do was read the contents of each of the cells in the covered range (for I am advised that Excel VBA can read cells pretty quickly) and store them in a VBA array of variants and then pass this array to a C function and then harness the processing speed of C to return the post calculation value. Any further suggestions and does this now make the requirements any clearer? Best regards Deepak Agarwal --- Message posted from http://www.ExcelForum.com/ |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
Custom functions | Excel Discussion (Misc queries) | |||
Custom Functions | Excel Worksheet Functions | |||
Custom Functions | Excel Discussion (Misc queries) | |||
Using custom functions within custom validation | Excel Discussion (Misc queries) | |||
Custom Functions | Excel Programming |