2014-07-21 2 views
0

문자열을 가져 와서 해당 문자열을 포함하는 셀에 대한 스프레드 시트의 첫 번째 행을 검색하고 해당 열을 선택하면 해당 열을 선택하고 그 값을 변수. 그러나 그 문자열을 포함하지 않으면 서브 루틴을 완전히 종료하고 싶습니다. 함수 내에서 Exit Sub 명령을 던지려고 시도했지만 오류 메시지가 계속 표시됩니다. 이 함수는 메인 서브에 의해 직접 호출되는 것이 아니라 서브에 의해 호출되는 다른 함수로부터 호출됩니다. 아무에게도 내가이 일을 어떻게 할 수 있는지에 대한 아이디어가 있습니까? 여기 함수에 대한이 코드는 다음과 같습니다함수 내에서 VBA 종료 서브 루틴 명령

Function ColSearch(Heading As String) As Integer 
'Determines the column number of the desired heading 

Sheets("CS-CRM Raw Data").Select 
Sheets("CS-CRM Raw Data").Unprotect 

    On Error Resume Next 
    If Sheets("CS-CRM Raw Data").Cells.Find(What:=Heading, LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False).Column > 0 Then 
     myCol = Sheets("CS-CRM Raw Data").Cells.Find(What:=Heading, LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False).Column 
    Else 
     End 
    End If 

ColSearch = myCol 

End Function 
+0

'''On Error Resume Next''라고 쓰면,''On Error Goto 0''' 또는''On Error Goto ''어딘가에 써야합니다. 하류. – paulroho

답변

1

당신은 단지 Exit Function 반환에 추가해야합니다.

관련 문제