You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

将ArrayList转换为数组时触发运行时错误‘5’:无效过程调用或参数

VBA ArrayList实现数组排序时的赋值错误解决

错误原因

运行时错误‘5’的根源是不能直接将ArrayList对象赋值给Variant数组,必须调用ArrayList内置的ToArray()方法完成对象到数组的转换操作。

修正后的代码

Sub Arrlist_to_Array()

    Dim arrlist As Object
    Dim arr() As Variant, item As Variant
    
    Set arrlist = CreateObject("System.Collections.ArrayList")
    
    arr = Array("5", "7", "4")
    
    For Each item In arr
         arrlist.Add item
    Next
       
    arrlist.Sort
    
    ' 调用ToArray方法完成ArrayList到数组的转换
    arr = arrlist.ToArray()
    
End Sub

关键说明

  • ArrayList的Sort()方法会直接对内部存储的元素完成排序,无需额外逻辑处理
  • 转换为数组时必须使用ToArray()方法,该方法返回Object类型数组,可直接赋值给声明的Variant数组arr()

内容的提问来源于stack exchange,提问作者Leedo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.24 20:27:02