메뉴
해결 엑셀2021

VBA 5개의 시트에서 TRUE / FALSE 를 받아오는데 5개의 시트에서 전부 FALSE일경우 작동안하게 하는방법이 있을까요?

엑
1월 30일 조회 648
sub test()

'///////////////////////////////////////////////////////////////////////////////////////////////
' Sheet1
'///////////////////////////////////////////////////////////////////////////////////////////////
Select Case Sheets("Sheet1").Range("V1").Value
Case "False"

Case "True"

Msgbox True

Case Else
End Select
'///////////////////////////////////////////////////////////////////////////////////////////////
' Sheet2
'///////////////////////////////////////////////////////////////////////////////////////////////
Select Case Sheets("Sheet2").Range("V1").Value
Case "False"

Case "True"

Msgbox True

Case Else
End Select

'///////////////////////////////////////////////////////////////////////////////////////////////
' Sheet3
'///////////////////////////////////////////////////////////////////////////////////////////////
Select Case Sheets("Sheet3").Range("V1").Value
Case "False"

Case "True"

Msgbox True

Case Else
End Select

'///////////////////////////////////////////////////////////////////////////////////////////////
' Sheet4
'///////////////////////////////////////////////////////////////////////////////////////////////
Select Case Sheets("Sheet4").Range("V1").Value
Case "False"

Case "True"

Msgbox True

Case Else
End Select

'///////////////////////////////////////////////////////////////////////////////////////////////
' Sheet5
'///////////////////////////////////////////////////////////////////////////////////////////////
Select Case Sheets("Sheet5").Range("V1").Value
Case "False"

Case "True"

Msgbox True

Case Else
End Select

End Sub

 

시트 5개가 전부 FALSE일경우 test 매크로가 작동하지 않게 하는방법이 있을까요?

댓글 2

원
원조백수 채택된 답변 1월 30일
참고하세요.
Sub Test()
    Dim vSh As Variant, i As Long, GoRun As Boolean
    '// 시트이름을 나열하여 Split으로 시트이름 목록을 생성
    vSh = Split("Sheet1,Sheet2,Sheet3,Sheet4,Sheet5",  ",")

    '// 생성된 목록으로 값을 점검하고 Go/No 결정
    For i = LBound(vSh) To UBound(vSh)
        If Worksheets(vSh(i)).Range("V1").Value2 <> "False" Then
            GoRun = True
            Exit For
        End If
    Next i
    
    If Not GoRun Then Exit Sub
    
    MsgBox "Run Macro..."

End Sub

 
엑
엑셀춉 작성자 1월 30일
@원조백수 님 감사합니다 많은 도움됬습니다~

질문답변 게시판의 최근 글

로그인

처음이면 카카오·네이버로 계속하면 바로 가입돼요

또는
비밀번호 찾기
Caps Lock이 켜져 있습니다
스크랩 완료