0

私は VBA にまったく慣れていないので、些細なことで助けていただければ幸いです。次のコードがあります。

Sub sub1()
Dim buys As Collection
Dim sells As Collection
Set buys = New Collection
Set sells = New Collection


handleBuy rowCounter, buys, sells

End Sub




Sub handleBuy(ByVal rowNum As Integer, ByRef listBuys As Collection, ByRef listSells As Collection)
'do something here with the collections

End Sub

上記のコレクションには、私が定義したクラスによってインスタンス化されたオブジェクトが含まれています。上記のコードを実行しようとすると、実行時エラー 424 "Object Required" が発生します。このエラーは、handleBuy の呼び出しが行われる場所で発生します。ここで何が欠けていますか?どんな助けでも大歓迎です。

4

2 に答える 2

1

エラーが発生するのは、がデフォルトのタイプであるため(およびが存在しない場合)に'edされてrowCounterいないためです。宣言されたものと互換性がないDimIntegerOption ExplicitVariantSub handleBuy(ByVal rowNum As Integer

解決策:使用Option Explict-これは、このタイプのエラーを防ぎ、宣言するのに役立ちますDim rowCounter As Integer

ところで、あなたはではなくを使用する必要がありますLongInteger

于 2013-02-22T23:01:11.440 に答える
1

2 つのオプション:

  1. rowCounter変数を定義します。また
  2. を取り外しますOption Explicit

1が好ましい。

于 2013-02-22T22:57:25.777 に答える