2017-03-06 103 views
1

我想添加一個項目到列表中。將元素添加到VBA中的變體列表/數組

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

RefData是參照data.My名稱列表返回一表值3和即使讓模式是「開」我希望它返回3,9和-2。

它是拋出對象error.Please幫助。

回答

1

數組不是一個對象,因此沒有任何屬性或方法可以調用。您需要調整的數組,然後添加的項目像這樣

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 

變調是必要的,因爲分配範圍的Variant總是創建一個二維數組,如果你使用你只能調整數組的最後一個元素保留以保持其內容。