2011-09-23 7 views
1

예. 을 감안할 때 시트 1에는 다음이 포함다른 개체의 회선 레이블은 어떻게 이동합니까?

Ref: Do things

가 어떻게 GoTo Ref에 모듈 1의 코드를 직접 할 수 있습니까? 나는 Sheet1 코드 moduke에 있다면 나는 단순히 Goto Ref

사용할 수 있습니다 그러나 이것은 다른 모듈

에서 작동하지 않습니다
+0

나는이 질문을 정리해야하고 응용 프로그램 용 태그를 추가해야 할 것이라고 생각한다. – Fionnuala

+3

불가능합니다. 어쨌든 절대로해야하는 경우가 아니면 반드시 GoTo를 사용하면 안됩니다. –

답변

4

다른 답변을 확장하는 데 도움이 .. 마찬가지로 그들은 오류 처리를 제외하고 VBA의 모든 것에 대해 GoTo를 사용하지 않아야한다고 말했듯이 말입니다.

다른 모듈에서 공용 하위/함수를 호출해야합니다. 모듈 1에서 예를 들어, 당신은 다음과 같은

Sub TestMod1() 
Dim MyNumber As Integer 

MyNumber = GetSquare(6) 
'MyNumber returns from the function with a value of 36 
End Sub 

있을 것입니다 및 모듈 2에 당신은 이제

Public Function GetSquare(ByVal MyNumber As Integer) 

GetSquare = MyNumber * MyNumber 

End Function 

이 당신이 그것을 방지하는 방법을 알고있다. GoTo는 온 세상을 날아 다니는 아주 좋은 프로그래밍 연습은 아닙니다. 반복하는 코드를 여러 개의 Sub로 분해하고 필요할 때마다 호출하거나 어떤 경우에도 기능을 수행하십시오. 그런 다음 클래스를 작성하면 오브젝트를 나타 내기 위해 싸서 해당 오브젝트에 대한 모든 작업을 수행합니다.

올바른 길을 찾아야합니다.

8

귀하의 질문은 명확하지 않다 당신은 코드를 제공하지 않았기 때문에이있다 짐작.

GoTo은 동일한 하위/기능 내의 다른 위치로 점프하는 데 사용됩니다. 그것을 사용하여 다른 서브 루틴이나 함수의 부분으로 이동할 수 없습니다.

또한 "NapDone :"은 참조로 불리지 않으며 공식적으로 이라는 회선 레이블이라고합니다. :)

+0

감사합니다. 여기에 새 소식이 있습니다. GoTo가 포함 된 Sheet1에 일련의 서브 루틴을 만든 다음 모듈의 해당 서브를 가리켜 서 주위를 둘러 보았습니다. – Felix

+0

문제 없어요, 그리고 오신 것을 환영합니다! 내 대답 (또는 다른 사람의 것)이 적합한 대답 인 경우, 왼쪽 상단에 나타나는 화살표를 선택하여 대답을 '수락'하십시오. Jean-Francois Corbett이 언급 한 바에 따르면 GoTo 문은 거의 필요하지 않으며 일반적으로 루틴에서 논리를 재 작업 할 수있는 기회를 나타냅니다. – aevanko

관련 문제