vba 怎么把字符串转为执行公式?

比如我自定义了多个函数
test1(a1,a2,a3)
test2(a1,a2,a3)
test3(a1,a2,a3)
test4(a1,a2,a3)
...
testn(a1,a2,a3)
然后参数是不变的
把函数名放在A1,A2A3,A4,...An单元格中
用for循环生成公式
for i = 1 to n
arr(i) = test & i &"(a1,a2,a3)"
next i
得到公式的数组 test1(a1,a2,a3),test2(a1,a2,a3),test3(a1,a2,a3)。。。
怎么能让这些公式执行得到结果?

第1个回答  2020-08-08

Sub test1()

    Dim i As Long, n As Long

    n = 100 '需要多少修改下

    For i = 1 To n

        Cells(i, 1).Value = "test" & i & "(a1,a2,a3)"

    Next i

End Sub

生成100个如下:

操作方法如下:

Excel怎样处理列表

追问

我的意思是如何把这些公式执行 然后得到结果放在数组中
不是把公式写入单元格
比如
test1(a1,a2,a3,a4)=1
test2(a1,a2,a3,a4)=2
test3(a1,a2,a3,a4)=3
test4(a1,a2,a3,a4)=4
...
testn(a1,a2,a3,a4)=111
然后arr()={1,2,3,4,...,111}

追答

for i = 1 to n
arr(i) =Cells(i, 1).Value
next i

追问

你的这种方法是把结果先写入单元格 再从单元格写入数组
有没有办法直接不经过单元格直接写入数组?

追答

arr=range("a1:a100")

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网