Excel VBA 기초

Excel VBA - GoTo

kwangpal 2023. 12. 3. 01:55
반응형

GoTo

코드를 실행하다가 어떠한 조건에 맞으면

GoTo를 사용해서 특정 위치로 건너 뛸 수도 있다.

 

Sub Button_Click()

    If [A1] < 1 Then
        GoTo AAA
    ElseIf [A1] < 10 Then
        [B1] = 100
    Else
        [B1] = 10
    End If
    
    GoTo BBB
    
AAA:
    [B1] = 1000
    
BBB:
    
End Sub

 

위 코드는 A1 셀에 입력한 숫자에 따라서

B1에 다른 숫자를 출력하라는 것이다.

 

그런데 A1 에 1보다 작은 숫자를 입력하면

AAA: 라고 표시된 곳으로 이동해서

B1 셀에 1000을 출력하게 된다.

그리고 그 후에 BBB: 가 있긴 하지만

아무것도 입력되어 있지 않으므로 그냥 넘어간다.

 

다른 조건의 경우 100이나 10을 출력하고

BBB: 라고 표시된 곳으로 이동하게 되는데

아무것도 입력되어 있지 않으므로 그냥 넘어간다.

 

위 코드에서 AAA: 와 BBB: 는

왼쪽에 빈칸이 없이 붙어 있는데

입력할 때 어떤 위치에서 입력하더라도

자동으로 저 위치에 입력된다.

저 레이블이 어디 있는지 쉽게 알아볼 수 있게 하지 위함이다.

 

사실 위 코드에서는 굳이 GoTo를 쓰지 않아도 되지만

어떻게 사용하는지 보여주기 위한 것이다.

 

GoTo가 요즘 많이 쓰는 다른 언어에는 없다고 하고

코드 가독성이 떨어지고, 로직이 꼬인다고 해서

사용하는 것을 권하지 않는다고는 하지만

 

이게 잘 사용하면 좋을 때가 있다.

반응형

'Excel VBA 기초' 카테고리의 다른 글

Excel VBA - 상수  (0) 2023.12.13
Excel VBA - 파일 저장 형식  (0) 2023.12.13
Excel VBA - Do, Loop  (0) 2023.12.03
Excel VBA - Select Case  (0) 2023.12.03
Excel VBA - If  (0) 2023.12.03