2013-12-16 70 views
0

我創建了數組,它將存儲inputbox的值,它說我有一個語法錯誤,並且我不確定如何修復它。將數組傳遞給方法時的語法錯誤

我已經使用參數的傳遞,我將顯示以下也

Dim name() As String 

For counter = 1 To 5 
Call enter_questionnaire_data(name()) '2.0 
Next 
End sub 

第二子程序

Private Sub enter_questionnaire_data(ByRef name()) 

name() = InputBox("Enter the party name") 

回答

2

使用名沒有括號

Dim name As String 

並且在其他方​​法

Private Sub enter_questionnaire_data(ByRef name) 
name = InputBox("Enter the party name") 
+0

他叫'enter_questionnaire_data'裏面一個for循環。您可以看到代碼的功能是輸入*多個*名稱,因此可以使用數組。 – djv

4

爲什麼你有name作爲一個字符串數組?

你只需要聲明

Dim name As String 

允許name存儲一個字符串

你也不能這樣

name() = InputBox("Enter the party name") 

你需要指定索引值分配給數組成員也

編輯: 如果你想字符串數組存儲的名字,然後

聲明有足夠的長度

Dim name(10) As String 

和使用的靜態數組:

name(index) = InputBox("Enter the party name") 
index = index+1; 

其中索引每輸入直到10後遞增

(使用動態數組對於你現在會有點複雜,所以我沒有討論動態數組)

+0

我需要使用數組,因爲派對名稱將被多次輸入,所以我需要一個數組來存儲'姓名'的數據。我怎樣才能做到這一點? – Aidan

+0

我已編輯我的答案,包括您的要求。你也可能想檢查這個鏈接陣列http://patorjk.com/programming/tutorials/vbarrays.htm – gaurav5430

+0

你的答案的編輯部分是一個很好的解決方案。他應該記得用這行'調用enter_questionnaire_data(name)'來調用sub,注意名稱上沒有括號。 – djv

0

關於你的程序:

Dim name As String <---Without() you can use this for array 

For counter = 1 To 5 
Call enter_questionnaire_data(name as string)<--- can you insert variable/tipe 
Next 

End sub 


Private Sub enter_questionnaire_data(name as string) 

name = InputBox("Enter the party name")