Can';t在Excel VBA中返回整数数组

Can';t在Excel VBA中返回整数数组,vba,excel,Vba,Excel,我只是在字符串数组中遇到了类似的问题,现在它可以正常工作了,但事实并非如此。我尝试将整数数组作为Integer()类型和Variant()返回,并使用Cint()循环和转换每个元素。我得到一个类型不匹配的任何方式。代码如下: Dim pathTimeList() As Integer ReDim pathTimeList(0 To stepCount) pathTimeList = set_path_time_list(stepCount) 以下是功能代码: Private Function

我只是在字符串数组中遇到了类似的问题,现在它可以正常工作了,但事实并非如此。我尝试将整数数组作为Integer()类型和Variant()返回,并使用Cint()循环和转换每个元素。我得到一个类型不匹配的任何方式。代码如下:

Dim pathTimeList() As Integer
ReDim pathTimeList(0 To stepCount)
pathTimeList = set_path_time_list(stepCount)
以下是功能代码:

Private Function set_path_time_list(ByVal stepCount As Integer) As Integer


    Dim pathTimeList() As Integer
    ReDim pathTimeList(0 To stepCount - 1)

    Dim loopIndex As Integer
    loopIndex = 0

    Dim firstRow As Integer
    Dim lastRow As Integer
    Dim firstColumn As Integer
    Dim lastColumn As Integer

    firstRow = 3
    lastRow = 27
    firstColumn = 2
    lastColumn = 2

    For i = firstRow To lastRow

        For j = firstColumn To lastColumn

            pathTimeList(loopIndex) = Cells(i, j).Value

        Next j

        loopIndex = loopIndex + 1

    Next i

    set_path_time = pathTimeList

End Function

首先,要使函数返回整数数组,在函数声明中,在返回类型后面加上
()
,以指示数组:

Private Function set_path_time_list(ByVal stepCount As Integer) As Integer()
第二,将最后一条语句更改为:

set_path_time_list = pathTimeList
一些可选的清理项目。在最后一个语句中考虑使用代码< > Redim < /代码>:< /P>
Erase pathTimeList
最后,您应该将
i
j
声明为
Integer
Long


希望这有助于

首先,要使函数返回一个整数数组,在函数声明中,在返回类型后面加上
()
,以指示数组:

Private Function set_path_time_list(ByVal stepCount As Integer) As Integer()
第二,将最后一条语句更改为:

set_path_time_list = pathTimeList
一些可选的清理项目。在最后一个语句中考虑使用代码< > Redim < /代码>:< /P>
Erase pathTimeList
最后,您应该将
i
j
声明为
Integer
Long


希望这有帮助

我没有得到类型不匹配。请指出代码在哪一行失败。我没有发现类型不匹配。请指出代码在哪一行失败。