2013-12-16 4 views
0

입력 상자의 값을 저장할 배열을 만들었습니다. 구문 오류가있어서이를 수정하는 방법이 확실하지 않습니다.배열에 메서드를 전달할 때 구문 오류가 발생했습니다

난 내가 괄호

Dim name As String 

하지 않고 다른 방법으로도

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

를 사용하여 이름 아래에 표시됩니다 매개 변수 전달을 사용했다

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

그는 호출하는'루프에 대한 내부 enter_questionnaire_data'. 코드의 기능은 * 여러 * 이름을 입력하는 것이므로 배열을 사용한다는 것을 알 수 있습니다. – djv

4

name을 문자열 배열로 사용하는 이유는 무엇입니까?

당신은 단지 문자열을 저장하는 name을 허용하는

Dim name As String 

를 선언 할 필요 또한 당신이 인덱스를 지정해야이

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

처럼 배열 구성원에 값을 할당 할 수 없습니다

또한

편집 : 당신은 문자열 배열이 충분한 길이

Dim name(10) As String 

및 사용의 정적 배열을

다음, 이름을 저장 선언 할 경우 : 인덱스가 10까지 모든 입력 후 증가

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

(동적 배열을 사용하면 지금 당장 조금 복잡해 지므로 토론에서 동적 배열을 생략합니다)

프로그램 소개 6,
+0

'name'의 데이터를 저장할 어레이가 필요하기 때문에 파티 이름이 여러 번 입력되기 때문에 배열을 사용해야합니다. 내가 어떻게 할 수 있니? – Aidan

+0

귀하의 요구 사항을 포함하도록 답안을 편집했습니다. 또한 배열에 대한 링크를 확인하고 싶을 수도 있습니다. http://patorjk.com/programming/tutorials/vbarrays.htm – gaurav5430

+0

답변의 편집 부분은 좋은 해결책입니다. 그는 이름에 괄호가없는 것을 지적하면서'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") 
관련 문제