여러 개의 워크시트가 있습니다. 워크시트 이름에 따라 3개의 서브루틴 CALL 옵션이 있습니다. 나는 If, If Not, Else, ElseIf, Exit Sub, End If 등을 재정렬해 보았고 CALL이 완료되고 리턴되면 필연적으로 마지막 CALL(여기서는 ... IsolOther)에 도달하여 이전을 통해서도 실행한다. CALL이 작동했습니다. 나는 또한 다중 선택에 대한 SELECT CASE 함수를 알아 내려고 노력했습니다. CBI, Fire, LEA 및 InCase에 대한 호출은 완벽하게 작동합니다. 문제는 다른 이름의 워크시트가 있을 때입니다. CALL이 IsolOther로 이동하기를 원합니다.
Sub DetermineTabs()
'DETERMINE WHICH SUBROUTINE TO CALL BASED ON SHEET (TAB) NAME
Dim newTab As String
newTab= ActiveSheet.Name
'Call appropriate Category processing routine
'Call IsolNamesOnly Subroutine if ActiveSheet is named ... CBI
If newTab= "CBI" Then Call IsolNamesOnly Else
'Call IsolNamesOnly Subroutine if ActiveSheet is named ... Fire
If newTab= "Fire" Then Call IsolNamesOnly Else
'Call IsolNamesOnly Subroutine if ActiveSheet is named ... LEA
If newTab= "LEA" Then Call IsolNamesOnly Else
'Call IsolInCase Subroutine if ActiveSheet is named ... InCase
If newTab= "InCase" Then Call IsolInCase Else
'Call IsolOther Subroutine if ActiveSheet is named ... anything else
If newTab <> "CBI" Or newTab <> "Fire" Or newTab <> "LEA" Or newTab <> "InCase" Then Call IsolOther Else
End Sub
나는 또한 "If Not newTab= "CBI" Or newTab= "Fire" 또는 newTab= "LEA" 또는 newTab= "InCase" then Call IsolOther Else"(마지막 IF 줄에 대한 대안으로 따옴표 없이)를 시도했습니다. 마지막 줄을 개별적으로 If Not/Else로 만드는 것뿐만 아니라 실패하고 있습니다. 처음 4개의 시트 중 아무 것도 발견되지 않으면 해당 CALL 및 End Sub를 실행하고 싶습니다. 질문 60781118, 51274411, 24684092 및 기타 Google 쿼리를 검토했습니다. 돕다 . . . 제발.
안녕하세요, 아마도 Elseif 스타일을 사용하십시오
jspcal2021-12-19 14:33:13