我想创建一个功能MyRange如下:范围在Excel中使用VBA
输入:三个数的a,b,d
输出:值从阵列以与步骤大小B d。
例如,如果A1包含1,和B1含有5,和你写= MyRange(A1,B1,1)在小区C1(和你按下Ctrl + Shift + Enter键)你得到:
A | B | C | D | E | F | G
-------------------------
1 | 5 | 1 | 2 | 3 | 4 | 5
这里是我的审判:
Function MyRange(a, b, d)
Dim Index As Integer, Number As Integer
Dim Res() As Integer
Index = 0
For Number = a To b Step d
Res(Index) = Number
Index = Index + 1
Next Number
MyRange = Res
End Function
当我尝试这一点,Excel中抛出#VALUE!我不知道有什么问题..
BTW,是的,我有一个类似的问题,在此之前,没有得到答案,因为它太复杂了,所以我会删除它,在这里简化我的问题。
这不是完整的答案,但有一点你需要做的就是你的输出选择'C1:C [B + 2]'和输入数组公式与所有这些列强调让你的输出。 –
你是否将它作为数组公式输入?你也没有声明Res的大小,所以需要使用Redim。 – SJR
@ScottHoltzman TNX,但即使我这样做时,Excel会引发同样的错误 –