Wouldn't this limit presision depending on how far the function is caried out in the array... if he wants to stay acurate to say 5 or 6 decimal places the vbTrig functions might be the most practical way. ( I think... but I have been wrong in the past)