虽然在Debug.Print中可以看到函数无法正确返回数组

时间:2018-10-18 23:57:52

标签: arrays excel vba excel-formula

我正在编写一个Excel VBA函数,该函数返回一个数组以供其他函数使用。当我在Excel工作表中测试函数17 1 nginx S 14344 1% 0 0% nginx: worker process 1 0 root S 13896 1% 0 0% nginx: master process 并使用GenerateBlendedReturnSeries查看完整结果时,整个数组全为零。但是,奇怪的是,当我检查ctlr-shift-enter时,将返回正确的非零值。为什么函数无法正确返回此结果?我返回的数组为329 x 1,并且当Debug.Print (BlendedReturnSeriesArray(300, 1))中的乘法/加法运算返回错误时,行中包含""个值。

for loop

1 个答案:

答案 0 :(得分:1)

除非您这样做

ReDim BlendedReturnSeriesArray(1 To ArraySize, 1 To 1)

或者您正在使用Option Base 1(从来都不是个好主意),返回数组的大小将设置为(0到ArraySize,0到1),因此您可能只会看到第一个“列”工作表上的数组(零索引)。如果将公式扩展为包括两列,您将看到丢失的数字。