Excel
엑셀 매크로 쉽게 만들기 03편 - 문서 끝라인 찾기
보따리의새세상
2020. 1. 10. 00:19
"문서의 끝라인 수 찾기"
매크로 중
For 구문 사용 시 반복횟수를 지정하는것이 아닌
특정 Sheet의 열의 개수만큼만 반복해야할 때가 있습니다.
[02편 - For 구문 사용]
https://howitworks.tistory.com/33
2편에서 생성한 매크로를 불러오면,
--------------------------------------------------------------
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명을 변경합니다.
좀 더 조건을 추가하여
아래와 같은 목록이 있고
새로운 Sheet를 생성하여
Sheet명을 국가명으로 하고자 한다면,
For 구문을 사용하여
2번 행에서 19번 행까지
18회만 반복하면 됩니다.
또 Sheet의 명을 국가명으로 지정하면 됩니다.
--------------------------------------------------------------
Sub 시트추가하기()
Dim i, EndLine As Integer
= i, EndLine 이라는 정수 변수를 선언
Dim ShtNm, ActiveShtNm As String
= ShtNm 이라는 시트명 문자 변수를 선언
EndLine = ActiveSheet.Range("a1").CurrentRegion.Rows.Count
= 해당 문서의 끝라인 찾기
ActiveShtNm = ActiveSheet.Name
= 목록시트명을 지정
For i = 2 To EndLine Step 1
= i 를 2부터 EndLine까지 1단위로 증가하여 반복
Worksheets(ActiveShtNm).Select
= 목록시트로 이동
ShtNm = Cells(i, 1).Value
= 실행라인의 국가명 셀값을 ShtNm으로 지정
Sheets.Add After:=Sheets(Sheets.Count)
= 신규 Sheet를 추가하기
ActiveSheet.Name = ShtNm
= 신규 Sheet의 이름을 지정한 국가명으로 변경
Next i
= For 구문을 닫음
MsgBox "끝났습니다."
End Sub
--------------------------------------------------------------
위 매크로는
i라는 반복횟수 정수를 선언하고,
EndLine이라는 문서 맨 끝라인 정수를 선언합니다.
또, ShtNm이라는 시트명 문자 변수를 선언합니다.
Rows.Count로 맨 끝라인을 EndLine으로 지정하고,
For 구문으로 i를 2부터 EndLine 까지 반복시켜
국가목록을 순서대로 ShtNm에 지정하고
하나씩 신규 Sheet를 생성 후 Sheet명을 국가명으로 변경합니다.
실행 후 결과화면 입니다.
이상
특정 횟수만큼만 반복되는 For 구문에
사용할 수 있는 끝라인 찾기
포스팅을 마칩니다.~