이 내 간단한 스크립트에서 하위를 호출. 나는 그 오류를 이해하지 못한다. 이것은 두 개의 인수를 갖는 간단한 서브 루틴 호출입니다. VBA가 전화를받지 않는 이유는 무엇입니까?은 VBA
Q
은 VBA
32
A
답변
60
시도 -이 질문을 통해 MSDN에서 그 이유에 관해서는
Call CatSubProduktAreakum(Stattyp, Daty + UBound(SubCategories) + 2)
, 이것은 - What does the Call keyword do in VB6?
당신은 프로 시저를 호출 할 때 호출 키워드를 사용할 필요는 없습니다. 그러나 Call 키워드를 사용하여 인수가 인 프로 시저를 호출하는 경우 argumentlist는 괄호로 묶어야합니다. Call 키워드 을 생략하면 argumentlist 주변의} 호를 생략해야합니다. 호출 구문을 사용하여 내장 함수를 호출하거나 사용자 정의 함수를 호출하면 함수의 반환 값이 무시됩니다. 아직이 게시물에 오는 사람들을위한
5
, 다른 옵션은 단순히 괄호를 생략하는 것입니다
Sub SomeOtherSub(Stattyp As String)
'Daty and the other variables are defined here
CatSubProduktAreakum Stattyp, Daty + UBound(SubCategories) + 2
End Sub
Call
키워드는 이전 버전과의 호환성 (을)에 대한 VBA 만 정말 실제로 필요하지 않습니다.
그러나 Call
키워드를 사용하기로 결정한 경우에는 구문을 적절하게 변경해야합니다.
'// With Call
Call Foo(Bar)
'// Without Call
Foo Bar
둘 다 똑같은 일을합니다.
말했다되고, 당신이 수를 의도하지 않은 곳 (괄호는 VBA에서이 작업을 수행으로) 평가하기 위해 사용하는 괄호가 불필요하게 가지 원인이 어디에 조심 인스턴스가있을 수있는 것을 너무 더 나은 옵션은 아마도 Call
키워드와 괄호를 생략하는 것입니다.
관련 문제
- 1. 은 VBA
- 2. 은 VBA
- 3. 은 VBA 형태로 사용되는 방법은 이벤트 프로 시저를 찾을 수
- 4. 은 날짜 값을 기준으로 VBA 인쇄 행을 비교합니다.
- 5. VBA
- 6. VBA :
- 7. VBA
- 8. VBA
- 9. vba 사전 전달
- 10. VBA 6.0과 VBA 7.0의 차이점은 무엇입니까?
- 11. Excel vba - 범위의 요소
- 12. F #, Office의 다른 VBA?
- 13. VBA 오류 :
- 14. VBA : 숲
- 15. VBA 엑셀
- 16. VBA : & 및
- 17. 것을 VBA
- 18. VBA 배열
- 19. 정규식과 vba
- 20. 질문/VBA
- 21. 방법 VBA
- 22. 엑셀 VBA -
- 23. Excel VBA
- 24. VBA : 정규식
- 25. VBA - 메모리
- 26. VBA 파일 열기가 느립니다.
- 27. VBA 매크로에서 # (해시) 기호 사용
- 28. VBA 추가 기능 질문
- 29. vba 액세스 : report.controls의 각 Ctl
- 30. VBA Range.Rows.Count주는 예상치 못한 결과가
감사합니다. 작동하는 것 같습니다. 하나의 인수 만 사용하여 서브 루틴을 호출하면 (그리고 하나의 인수로 정의하는 경우) 이름과 괄호 안의 인수로 호출 할 수 있습니다. 두 개의 인수를 가진 Sub를 호출 할 수없는 이유는 무엇입니까? – reggie
@reggie 괄호'Mysub arg1, arg2, arg3'을 건너 뛰는 한 Call없이 서브를 호출 할 수 있습니다. 그러나 ByVal과 ByRef를 읽어야합니다. – Fionnuala
더 자세한 설명으로 답변을 업데이트했습니다. – ipr101