我似乎无法弄清楚为什么这个UDF在 currentInput = inputArray(i)
处退出。以下是相关的代码:
Function OrderRange(inputRange As Range) As Variant
Dim length As Integer
inputHeight = inputRange.Count
Dim inputArray As Variant
inputArray = inputRange
Dim strippedArray() As Variant
ReDim strippedArray(0 To (inputHeight - 1))
Dim currentInput As String
Dim i As Integer
For i = 0 To (inputHeight - 1)
currentInput = inputArray(i)
'...computations on currentInput...'
strippedArray(i) = currentInput
Next i
OrderRange = strippedArray
End Function
调试器到达
currentInput = inputArray(i)
,但一旦我移动到下一行,函数终止并在调用函数的单元格中输入#VALUE!
错误。我知道这是一个具体问题,但我相信这是一个普遍问题,我将编辑此原始帖子以反映一般问题。编辑:这是关于将范围分配给变量数组的问题。
Option Explicit
。在这里,你没有使用它,导致声明了一个变量但没有使用(length
),并且隐式声明了inputHeight
为 Variant 类型。 - Jean-François Corbett