Home |
Search |
Today's Posts |
#1
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Hello all.
(1) How can I convert the below routine to a UDF (2) How can I run this routine using a sheet with about 30 different form types, each with a string of monthly receipts? Guess what I'm asking is how would I create a UDF in the form CYCYLETIME(INPUT REFERENCE RANGE, END PENDING REFERENCE CELL) so I can repeat the use of the function across several columns or rows nased on the UDFs input values. Thank you. Below posts refer. Mark :) "Gary''s Student" wrote: This is just an example: 1. put monthly receipt values in column A 2. put the target (fixed) value in cell B1 3. enter and run this macro: Sub Macro1() Sum = 0 target = Cells(1, 2).Value For i = 1 To 65536 Sum = Sum + Cells(i, 1).Value If Sum = target Then Exit For denom = Sum If i = 65535 Then Exit Sub Next j = i - 1 result = (target - denom) / Cells(i, 1).Value Cells(1, 3).Value = j + result End Sub It will perform the calculation and enter the result in cell C1. If you are not familiar with macros, see: http://www.mvps.org/dmcritchie/excel/getstarted.htm -- Gary's Student "NWO" wrote: Hello all. Here is my business problem for which I am seeking a solution: Desired outcome - generate a cycle time based on varible number of input values marked agianst a set vaue. Example, I have a fixed value of 1,000, and a string of consecutive monthly receipt values (from nearest month to farthest month), say 300, 200, 300, 450. I need a solution to determine how many times of these values go into 1,000, and the last value expressed as a decimal, if applicable. So, using the above vlaue would generate a cyckle time of 3.4444. That is, 300 =1 because 300 < 100, 200 = 2, because 300+200 < 1000, 300 = 3 because 300+200+300 < 1,000., and the difference between 1,000 and 800 divided by 450 = .4444. I have tried countif, sumif, arrays, and I just can;'t seem to find a solution other than manually performimng the calucation every time. Any ideas to create a specialized formula or function to handle this task? Thank you. Mark :) Expand AllCollapse All |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
sub routine | Excel Discussion (Misc queries) | |||
creating a 'routine' | Excel Programming | |||
Using (what goes in here) for sub routine | Excel Programming | |||
creating a routine to help memorize | Excel Programming | |||
Routine?? | Excel Programming |