我想創建一個功能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會引發同樣的錯誤 –