[VBA] Excel에서 Enum (열거 형) 사용법

[0] 소개



Zitan입니다.
Excel 매크로에서는, 행과 열의 조작을 하는 것이 많습니다만, (당연하네요 w)
헤더의 항목 이름을 열 번호로 코딩하면 이해하기 어려울 수 있습니다.
거기에서 Enum(열거형)을 사용하면, 나중에 코드를 보답했을 때에 보기 쉽다고 하는 메리트가 있습니다.

[1] 전제



Excel(2016 사용)을 엽니다.
Sheet1에 아래 그림과 같은 상품 테이블을 준비합니다.



[2] 할 일



B 열(상품명)의 데이터가 들어 있는 마지막 행의 행 번호를 가져옵니다.
출력 결과가 「4」가 되면 OK입니다.

[3] Before



Enum을 사용하지 않는 경우
Sub test1()

Dim lastRow As Long
Dim SHEET As Worksheet: Set SHEET = ThisWorkbook.Worksheets("Sheet1")
lastRow = SHEET.Cells(Rows.Count, 2).End(xlUp).Row '←ここです
Debug.Print "B列(商品名)のデータが入っている最終行の行番号は" & lastRow & "です。"

End Sub

출력 결과
商品名列のデータが入っている最終行の行番号は4です。

[4]After



※Enum의 선언은 Sub 위에 기술합니다.
※Enum형은 기본적으로 Public이므로 프로젝트 전체에서 사용하는 경우는 생략 가능합니다. 모듈 내에서만 사용하려면 "private Enum"으로 설정하십시오.
※1열째(ID)를 1로 설정하는 경우는, 명기하지 않으면 0이 할당됩니다. 이후 생략하면 +1씩 할당됩니다.

Enum을 사용한 경우
Enum COL
ID = 1
商品名
End Enum

Sub test1()

Dim lastRow As Long
Dim SHEET As Worksheet: Set SHEET = ThisWorkbook.Worksheets("Sheet1")
lastRow = SHEET.Cells(Rows.Count, COL.商品名).End(xlUp).Row '←ここです
Debug.Print "B列(商品名)のデータが入っている最終行の行番号は" & lastRow & "です。"

End Sub

출력 결과
商品名列のデータが入っている最終行の行番号は4です。

[5] 정리



어떻습니까? 아는 사람에게는 큰 내용이 아닐지도 모릅니다만, 초보자·프로그래밍 미경험의 분에게는 의외로 편리한 내용이라고 생각합니다. 개발 현장에서도 비교적 사용합니다.

좋은 웹페이지 즐겨찾기