2017-03-06 3 views
1

リストに項目を追加します。VBAのバリアントリスト/配列に要素を追加する

vList as variant 
vList = RefData.NameList 
iCount = UBound(vList) 
If RefData.Mode = "On" Then 
    vList.Add("-2") 

RefDataを参照data.My名リストを持つシートでは、値3と9.Ifモードは、私はそれが3,9および-2を返すようにしたい「ON」であるが返されます。

投げオブジェクトエラーです。お手伝いください。

答えて

1

配列はオブジェクトではないため、呼び出すことのできるプロパティやメソッドはありません。あなたは、配列のサイズを変更して、バリアント型に範囲を割り当てることは常に2次元配列を作成し、使用する場合にのみ、配列の最後の要素のサイズを変更することができますので、移調が必要である。この

Dim counter as long 
vList as variant 
vList = RefData.NameList 
iCount = UBound(vList) 
If RefData.Mode = "On" Then 
    vlist = Application.transpose(vlist) 
    counter = ubound(vList) 
    redim preserve vlist(1 to counter +1) 
    vlist(counter + 1) = -2 
    vlist = Application.transpose(vlist) 
End If 

のような項目を追加する必要がありますその内容を維持するために保存します。

関連する問題