티스토리 뷰

Excel

엑셀 매크로 쉽게 만들기 02편 - For구문 사용

보따리의새세상 2020. 1. 9. 23:39


"엑셀 매크로 For 구문 사용"



매크로를 쉽게 자동생성하는 방법은

아래 1편을 참고하세요.



[01편 - 매크로 자동생성]

https://howitworks.tistory.com/32









오늘은 1편에 이어서

특정 매크로를 원하는 횟수만큼

반복하는 For 구문을 사용해보겠습니다.




우선 1편에서 생성한 매크로 중 일부를 불러오면,



--------------------------------------------------------------
Sub 시트추가하기()

    Sheets.Add After:=Sheets(Sheets.Count)
    = 신규 Sheet를 추가하기
    
    ActiveSheet.Name = "시트1"
    = 신규 Sheet의 이름을 "시트1"로 변경

End Sub

--------------------------------------------------------------


위 매크로는

엑셀 Sheet를 추가하고 이름을 "시트1"로 변경하는

간한단 매크로 입니다.



만약 시트1 부터 시트100까지 100개의 시트를

생성해야 한다고 가정하면,


위 구문을 100번 복사하고,

"시트1"을 "시트2", "시트3", ... "시트100" 으로

변경해주면 100개의 Sheet가 생성되고

이름이 변경됩니다.



그냥 Sheet를 손으로 만드는게 더 빠르겠죠?



단순 반복작업은 매크로를 사용해서

얼마든지 단순화 할 수 있습니다.


For구문을 활용하면,

간단히 몇 줄 추가하여

100개의 Sheet를 생성할 수 있습니다.




--------------------------------------------------------------
Sub 시트추가하기()

Dim i as integer
= i 라는 정수 변수를 선언

   For i = 1 To 100 Step 1
   = i 를 1부터 100까지 1단위로 증가하여 반복

        Sheets.Add After:=Sheets(Sheets.Count)
        = 신규 Sheet를 추가하기
    
        ActiveSheet.Name = "시트" & i
        = 신규 Sheet의 이름을 "시트i"로 변경
           i는 1부터 100이므로 "시트1" ~ "시트100"으로 생성됨

   Next i
   = For 구문을 닫음

MsgBox "끝났습니다."

End Sub

--------------------------------------------------------------

위 매크로는

i라는 정수를 선언하고,

For 구문으로 i를 1부터 100까지 증가시키고

Sheet명을 1부터 100까지 이어붙여서

Sheet명을 변경합니다.



작업종료 시 Msgbox를 이용해서
"끝났습니다." 라는 메시지창을 띄워줍니다.



이상 간단한 For 구문 사용하기
포스팅을 마칩니다.~






댓글