2013-12-16 4 views
0

Я создал и массив, который сохранит значение входного поля, он говорит, что у меня есть синтаксическая ошибка, и я не уверен, как ее исправить.Ошибка синтаксиса при передаче массива методу

Я использовал передачу параметров, которые я буду отображаться ниже, также

Dim name() As String 

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

2 подпрограммой

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' внутри для цикла. Вы можете видеть, что функциональность кода заключается в вводе * нескольких * имен, следовательно, использование массива. – djv

4

Почему у вас есть name как массив строк?

вам просто нужно объявить

Dim name As String 

для разрешения name для хранения строки

также вы не можете присвоить значения элементов массива, как этот

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

вам нужно указать индекс также

EDIT: , если вы хотите массив строк для хранения имен, то

объявить статический массив достаточной длины

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

Часть ответа EDIT является хорошим решением. Он должен помнить, чтобы вызвать sub с этой строкой 'Call enter_questionnaire_data (name)', отметив отсутствие скобок по имени. – 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") 
Смежные вопросы