這是一個非常愚蠢的例子......一個UDF以列的形式返回第一個素數:
Public Function Primes()
'
' Array UDF to return the first 7 primes
'
Dim rN As Long, ary(1 To 7) As Long
Dim tdim As Long, i As Long
Dim wf As WorksheetFunction
Set wf = Application.WorksheetFunction
rN = Application.Caller.Rows.Count
tdim = wf.Max(rN, 7)
ReDim bry(1 To tdim, 1 To 1)
ary(1) = 1
ary(2) = 3
ary(3) = 5
ary(4) = 7
ary(5) = 11
ary(6) = 13
ary(7) = 17
For i = 1 To 7
bry(i, 1) = ary(i)
Next i
If tdim > 7 Then
For i = 8 To tdim
bry(i, 1) = ""
Next i
End If
Primes = bry
End Function
的UDF檢測它有多少個單元,以填補,如果該值超過,餘額填充空白。
使用[ReDim Preserve](https://msdn.microsoft.com/en-us/library/vstudio/w8k3cys2.aspx)在您輸入數值時構建數組。舉個例子,你可以參考我的答案:[擦除數組中的空單元格](http://stackoverflow.com/questions/29930523/erase-empty-cells-in-an-array/29931503#29931503)。 – Jeeped
你能顯示你的代碼嗎? – Steven