본문 바로가기
  • Welcome!
VBA VB.Net Code

엑셀 VBA의 Collection

by ToolBOX01 2024. 11. 15.
반응형

□ 엑셀 VBA에서 Collection이란?

Excel VBA에서 Collection은 동일한 종류의 데이터를 여러 개 저장하고 관리할 수 있는 객체입니다.
마치 서랍장에 같은 종류의 물건을 여러 개 보관하는 것과 비슷합니다. 

▷ Collection의 특징

  • 동적 크기: 필요에 따라 크기를 자유롭게 조절할 수 있습니다.
                      즉, 미리 크기를 정해둘 필요 없이 데이터를 추가하거나 삭제하면 자동으로 크기가 조정됩니다.
  • 다양한 데이터 타입 지원:숫자, 문자열, 객체 등 다양한 데이터 타입을 저장할 수 있습니다.
  • 중복 허용: 동일한 값을 여러 개 저장할 수 있습니다.
  • 순서 유지: 데이터를 추가한 순서대로 저장됩니다.


  Collection 사용 이유

  • 유연한 데이터 관리:
    배열과 달리 크기를 미리 정할 필요가 없어 데이터가 늘어날 경우에도 유연하게 대처할 수 있습니다.
  • 다양한 데이터 타입 지원:다양한 종류의 데이터를 하나의 Collection에 저장하여 관리할 수 있습니다.
  • 객체 참조 저장: 객체를 직접 저장하여 필요할 때마다 참조할 수 있습니다

 

▷  Collection 사용 예시

Sub KOREA01()

    '// myCollection 선언
    Dim myCollection As Collection
    Set myCollection = New Collection

   '// 숫자 추가
    myCollection.Add 10
    myCollection.Add 5
    myCollection.Add 15

    '// 문자열 추가
    myCollection.Add "Apple"
    myCollection.Add "Banana"

    '// 특정 항목 삭제, 두 번째 항목 삭제
    myCollection.Remove 2 

    '// 모든 항목 출력
    For Each item In myCollection
        Debug.Print item
    Next item

End Sub

 

▷  Collection 사용 실행 결과

 

▷  Collection과 배열의 차이점



▷  Collection 사용 시 주의사항

  • 인덱스: Collection의 첫 번째 요소의 인덱스는 1부터 시작합니다.
  • Key: 각 요소에 고유한 키를 지정하여 관리할 수 있습니다.
  • 삭제: Remove 메서드를 사용하여 요소를 삭제할 때, 삭제된 이후의 인덱스가 자동으로 조정됩니다.