【问题标题】:Excel VBA: Argument Not Optional Error When Adding To An ArrayExcel VBA:添加到数组时参数不是可选错误
【发布时间】:2017-04-12 07:25:12
【问题描述】:

我对以下代码有疑问。每当它到达最后一行时,它就会抛出错误“Argument Not Optional”,并且不会编译。我不知道它在谈论什么论点。

Option Base 1
Dim temp As New ProductionItem 'Production Item is a class that I made
Dim Arr() As Collection
ReDim Arr(5)
Dim coll As New Collection
coll.Add temp
Arr(1) = coll

【问题讨论】:

  • A Collection 是一个对象。如果要将Arr(1) 设置为集合coll,则需要Set Arr(1) = coll。 (但你真的打算将Arr 变成ProductionItem 的集合数组吗?)
  • 而缺少的参数是key,因为没有Set 关键字,VBA 试图调用Collection默认属性对象,即col1.Item(key),其中参数key是强制的...

标签: vba excel


【解决方案1】:

只需要设置

Option Base 1

Sub fun()
    Dim Arr() As Collection
    ReDim Arr(5)
    Dim coll As New Collection
    coll.Add 1
    Set Arr(1) = coll
End Sub

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-30
    • 2020-01-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多