我正在尝试在更大的宏中编写一个函数来返回元素列表。该数组是从电子表格中的单元格生成的:
Function Elem_Array() As Variant
Dim Elements() As Variant
i = 1
Cells(i, 38).Select
element1 = Cells(i, 38).Value
element2 = ""
Do While element2 <> element1
i = i + 1
Cells(i, 38).Select
element2 = Cells(i, 38).Value
ReDim Preserve Elements(1 To i)
Elements(i) = element2
Loop
Elements(1) = element1
Elem_Array= Elements
End Function
当试图将Elem_Array设置为等于Elements数组时,它会在没有Elem_Array等于任何内容的情况下结束该函数。当我调用函数时,我最终会出错,因为我试图调用一个空数组或字符串。我尝试使用for循环一次填充Elem_Array一个元素,但函数结束时没有添加任何内容。 Elements()是否被变暗为变体或字符串并不会改变我的任何内容。对类似问题的建议涉及使用Elements()的集合,然后使用循环使Elem_Array等于Elements,但如果可能的话,我想尽量减少更改代码。任何帮助表示赞赏!
答案 0 :(得分:1)
改变这个:
Dim Elements() As Variant
对此:
Dim Elements As Variant
第一个语句生成变体数组
您的函数返回类型是&#34;变量&#34; (单数)不是变种数组