|
想法有点绕!请大佬耐心看看
我有好几个函数,对一个参数进行运算,然后返回一个值
然后遇到一组数,要调用这类的函数,比如想Selet一个区域,不再写新循环的情况,直接循环调用这些单次运算的函数
意思是
Sub test()'这里想实现,改一下区域,改一下单次运算的函数名称(比如:函数1 改为 函数2 )
循环调用函数 Selection, "函数1"
End Sub
Function 循环调用函数(Rng As Range, 单次运算的函数名)'由这个函数把那些单次运算的函数变成循环多次的
For Each i In Rng.Value
xx = Application.Run(单次运算的函数名 & "(""" & i & """)")
Debug.Print xx
Next
End Function
Function 函数1(x)
Debug.Print x
函数1 = Now
End Function
Function 函数2(x)
Debug.Print x
函数2 = Now
End Function
.......
等等N个函数
选择的excel单元格内容是111,222,333三个单元格
得到结果
111
111
Error 2015
222
222
Error 2015
333
333
Error 2015
结果半错,因为test运行时,函数1的运算过程不可调试,错误出处不知道。。。感觉象是Application.Run一次函数1最少运行了2次函数1,猜测可能是无穷次运行函数1。只是因为debug.print浪费的时间,看不出来次数了
我这个想法能否实现?
如果能,怎么解决???实在不想每一个过程中,都写循环语句才能完成N次 函数1
|
|