2013-03-29 2 views
1

때로는 서브 루틴에 오류가 있습니다. 서브 루틴은 많은 프로 시저에서 호출됩니다. 그래서, 나는 스텝 오버를 위해 호출자 프로 시저를 찾으려고 노력한다.서브 루틴 호출 절차를 아는 방법? in excel vba

그런데 사용자 정의 함수은 호출자를 알 수 있습니다.
간단합니다.

MsgBox Application.Caller 

대화 상자와 발신자 주소를 볼 수 있습니다.

서브 루틴 호출자 프로 시저를 알고 싶습니다.

+0

코드를 사용하여 필요한 것을 찾으시겠습니까? 그렇지 않다면 @ Santosh의 대답이 당신이 원하는 것입니다. :) –

+0

@SiddharthRout 오래된 질문, 알아요,하지만 코드로 이것을하려고합니다. 어떤 아이디어? –

+0

여전히 vba 코드의 호출 스택에 액세스 할 수 있는지 알 수 없습니다. 더 좋은 아이디어는, 각 호출자의 서브 모듈에서 호출 된 서브 모듈에 부모 서브 모듈 이름을 보내는 것입니다. 또는 원래 호출 스택 (https://hammondmason.wordpress.com/2015/03/10/creating-a-call-stack-in-vba/)을 만듭니다. 그러나이 아이디어는 또한 스택 코드를 산만하게합니다. 그렇게 나쁘지는 않습니다. –

답변

4

당신은 호출 스택 대화 상자에 표시됩니다 PROC2에 의해 호출 된 아래 이미지 proc3의 예를 들어 호출 스택 대화 상자

를 사용할 수 있습니다.

enter image description here

+0

+1 비 VBA 방법의 경우. 좋은 분 :) –

+0

@Siddharth Rout 님, 당신에게서 +1을 얻으 려구요. –

+0

실례합니다. 당신의 그림이 깨졌습니다. –

관련 문제