2016-05-27 89 views
0

我試圖使用我用來存儲一些值的Variant之一中的值。的代碼的一個例子是這樣的:Array(Variant)or Array(String)

Dim Holder as Variant 

Holder = "1,1,1,1,1" 

,稍後我將使用本變形例一Array()的內部。該宣言是這樣的:

.TextFileColumnDataTypes = Array(Holder) 

毫無疑問出現了之後這句話

運行時錯誤的錯誤「5」:
無效的過程調用或參數

有沒有辦法讓我在變體的值中插入Array(<Here?)

編輯:持有人的價值不是恆定的,它會根據給我創造

+0

使用'分割(保持器, 「」)'而不是'陣列()'' –

+1

持有=陣列(1,1,1,1,1)'或'持有人=陣列( 「1」 ,「1」,「1」,「1」,「1」)(可能前者作爲1是[QueryTable.TextFileColumnDataTypes]的真正整數(https://msdn.microsoft.com/en-us/) library/bb221726%28v = office.12%29.aspx)) – Jeeped

+0

正如我已經告訴你的,向你展示Split()是一種方式,並且有一個數組不在字符串中。並且「分隔符」在數組中無法存活,所以當「元素」是數字時(如您的情況),在「源」字符串中使用空格作爲分隔符很方便,這樣您就可以不使用分割(源)函數不得不明確地通過分隔符charachter作爲其第二個參數,作爲默認的空間 – user3598756

回答

0

一種方法來完成這個工作的建議中註釋的另一功能改變,採用split 如果您收到一個錯誤我猜測你沒有正確使用它。 這是代碼的外觀。

dim i as long 
dim var 
     Holder = "1,1,1,1,1" 
     var = Split(Holder,",") 
    for i = 0 to 4 
      .TextFileColumnDataTypes = var(i) 
    next i