Lost Information!

엑셀 VBA 기초 - 반복문 딱 2가지만 기억하세요! -1편 본문

개인브랜드블로그를 만들어 보자/엑셀VBA

엑셀 VBA 기초 - 반복문 딱 2가지만 기억하세요! -1편

Lostinformation 2020. 9. 8. 14:34

모두가 칼퇴하는 그날까지~

오늘은 엑셀 VBA   

반복문에 대해 알려드릴게요.

 

가장 우선 반복문을 배우면 뭐가 좋을까요?

 

여러 가지 반복되는 작업들을 자동으로

처리할 수 있게 만들 수 있어요.

 

종류에는 기본적으로 FOR, Do While,

Do until, While wend 등이 있어요.

 

저는 여러분들에게 알려드려야 하는 입장이니

외우고 있지만 여러분들을 이걸 하나하나 

다 외워야 할까요??

 

NO!!! 

 

오늘도 마찬가지로 딱 2가지만 기억하시면 돼요.

 

그건 바로 ForFor each입니다.

 

이것만 기억하셔도 우리의 칼퇴를 위해서는

차고 넘칠 정도로 충분하죠. 

 

더 배우고 싶은 분들도 먼저 For와 For each에

익숙해지고 나서 추가로 공부하시면 

더 쉽고 편하게 익힐 수 있을 거라고 생각합니다.

 

그럼 가장 먼저 Alt + F11부터 눌러야겠죠.

( 비주얼 베이직 단축키입니다. )

 

 그다음 오른쪽 버튼 누르고 삽입에서 모듈 눌러주세요.

 

항상 시작은 Sub로 시작한다고 말씀드렸죠. 

 

sub(프로그램 만들 거야) for_test(원하는 이름) () (괄호) 엔터

 

sub 적어주시고 만들고 싶은 이름 적어주시고 시작해보죠.

 

먼저 지난 글에 설명드렸던 변수를 설정해야 합니다.

숫자를 변수로 설정하기 위해서는 Long 기억해주시고요.

 

변수 설정을 위해서는 처음에 Dim을 적어주시고 

변수 lngA는 원하시는 알파벳 아무거나 설 정해주 셔됩니다.

굳이 앞에 lng라고 적지 않으시고 A, X, i 아무거나 다됩니다.

 

이제 반복시키기 위해서 For를 적어주시면 되는데요.

 

Sub for_test()

    Dim lngA As Long
    
    For lngA = 1 To 10
    
        Cells(lngA, 1) = lngA
        
    Next

End Sub

 

이 명령의 의미는 1부터 10까지 lngA라는

변수에 반복해서 들어간다는 소리입니다.

 

어디에??  숫자가 1부터 10까지 진행될 동안

             Cells(lngA ,1)에

 

어떤 숫자가? 숫자가 1부터 10까지 진행될 동안

                 lngA라는 변수가 

 

그럼 실행하면 어떻게 될까요?

 

 

이렇게 셀(1, 1)부터 셀(10, 1)까지 1~10의 숫자가

차례대로 들어간 걸 볼 수 있습니다.

 

당연히 세로가 가능하니 가로도 가능하겠죠

 

이렇게 홀수만 나오게 설정하고 싶다면

 

Sub for_test2()

    Dim lngA As Long
    
    For lngA = 1 To 10
    
        Cells(1, lngA) = 2 * lngA - 1
        
    Next

End Sub

 

이렇게 적어주시고 실행하게 되면 

이렇게 실행되는 거죠.

 

심지어 한 줄씩만 가능한 것도 아니고 

 

Sub test()
    Dim i As Long
    Dim y As Long
    For i = 1 To 9
        Cells(i, 1) = i
        For y = 1 To 9
            Cells(i, y) = i * y
        Next
    Next
End Sub

 

변수를 두 개 설정하셔서 이렇게 적어주시면 

우리가 흔하게 볼 수 있는 구구단도 만들 수 있죠.

 

여기까지가 바로 For에 대한 내용이고 

 

복사해서 붙여 넣기보다는 꼭 직접 쓰고

연습할 때 본인 것이 된다는 것 잊지 마시고요.

 

For each에 대해서는 다음 글에 알려드리도록 하겠습니다.

 

혹시 궁금하신 점 있으시면 언제나 편하게 댓글 달아주시고요.

 

공감구독도 많이 부탁드릴게요~~~

 

 

 

 

 

Comments