2015-01-09 2 views
1

다음 코드와 함께 "외부 프로 시저가 유효하지 않습니다"오류가 발생합니다. 누군가 내가 여기서 잘못 읽었는지 말해 줄래?Dim 사용할 때 외부 프로 시저가 잘못되었습니다.

Dim Asset As String, AssetURL As String 

Asset = Range("B1").Value 

If Asset = "1" Then 
    AssetURL = "X:\Docs\excel0001.xls" 
Elseif Asset = "2" Then 
    AssetURL = "X:\Docs\excel0002.xls" 
End If 

Range("C1").Value = AssetURL 
+4

코드 블록이'Sub' 또는'Function'입니까? –

+1

이 코드에는 문제가 없습니다. 전체 모듈 코드를 표시하십시오. –

+1

나는 다른 Subs를 위해 그것을 사용하고 싶다면 Sub에 넣고 싶지 않았다. 함수에 넣어야 할 필요가 있을까? – Efe

답변

5

여러 잠수정 내에서 코드를 실행할 수 있도록하는 가장 좋은 방법은 그것을 할 수있는 Public Sub : 다른 곳에서이 코드를 실행할 때

Public Sub qwerty() 
    Dim Asset As String, AssetURL As String 

    Asset = Range("B1").Value 

    If Asset = "1" Then 
     AssetURL = "X:\Docs\excel0001.xls" 
    ElseIf Asset = "2" Then 
     AssetURL = "X:\Docs\excel0002.xls" 
    End If 

    Range("C1").Value = AssetURL 
End Sub 

, 당신은 사용해야합니다

Sub OtherSub() 
    'OtherSub Code 
    Call qwerty() 'or just qwerty 
    'Rest of OtherSub Code 
End Sub 

Related question on using Call to utilize a Sub within another Sub

관련 문제