2012-12-12 3 views
0

이것은 아마도 빠른 해결 방법이지만 VBA를 처음 사용하고 다소 혼란 스럽습니다. 모듈이 있습니다 :Excel VBA 함수가 의도하지 않게 모듈의 다른 함수를 호출합니다.

Function classify (r As Range) 
Debug.Print("Text") 
End Function 

Function foo(r As Range) 
Debug.Print(r.Count) 
End Function 

모듈 앞뒤에 작업 코드가 있습니다.

, 엑셀에서 셀에, 나는 =foo(A1)를 작성하고 다음 enter 키를 누릅니다 경우, 나는 다음과 같은 출력을 얻을 :

1 
Text 

왜? foo는 어떻게 분류를 호출 했습니까? 또한, '= classify (A1)'이라고 부르면

Text 
Text 

항상 분류되도록 분류 된 적이 있습니까? 어떤 도움을 크게 나는 당신의 문제를 재현 할 수

+0

다른 셀을 휘발성으로 만드는 수식이 A1에 있습니까? – InContext

+0

Enter 키를 누르기 전에 출력을 지우시겠습니까? 출력 창에 여전히 오래된 값이 표시 될 수 있습니다. – ja72

답변

5

유일한 방법 감사합니다 다음과 같은 시나리오였다

Cell A1: 
=foo(A1) 

Cell A2: 
=classify(A1) 

A1 셀을 업데이트 할 때 나는

1 
Text 

나는이 때문이라고 생각 얻을 셀 A2에 A1에 대한 참조가 있으므로 A1을 참조함으로써 A2의 수식을 호출합니다.

입력하는 공식을 A1으로 가정하면 다른 수식이 어디에 있는지보기 위해 부양 가족을 추적 할 것입니다.

관련 문제