小编Vin*_*ite的帖子

使用函数计算 if 语句时,赋值左侧的函数调用必须返回 Variant 或 Object

我在以下代码中收到此错误:

Dim posOfProdInArray As Integer
If isStringInFirstColumnOfMultidimensionalArray(firstCellOfRowTBRead.Offset(0, 2).Value, aggregatedProdsAndTheirData, posOfProdInArray) Then
    sumOfActualDay = sumOfActualDay + firstCellOfRowTBRead.Offset(0, 4).Value * aggregatedProdsAndTheirData(posOfProdInArray, 2)
End If
Run Code Online (Sandbox Code Playgroud)

它在调用 isStringInFirstColumnOfMultiDimensionArray 函数时发生。

这是函数:

Public Function isStringInFirstColumnOfMultidimensionalArray( _
      stringToBeFound As String, arr As Variant, _
      Optional ByRef varToReceivePositionOfString As Integer) As Boolean
Dim i
For i = LBound(arr) To UBound(arr)
    If arr(i, 1) = stringToBeFound Then
        isStringInArray = True
        If IsMissing(varToReceivePositionOfString) Then
        Else
            varToReceivePositionOfString = i
        Exit Function
    End If
Next i
isStringInArray = False
End Function
Run Code Online (Sandbox Code Playgroud)

excel vba

0
推荐指数
1
解决办法
69
查看次数

标签 统计

excel ×1

vba ×1