Excel에서 VBA 컬렉션을 사용하는 방법
컬렉션은 배열처럼 (그러나 다른) 저장소 개체를 보유하는 데이터 유형입니다. 기본 VBA 코드를 작성하는 동안 통합 문서, 워크 시트, 범위 등을 사용해야합니다. 모두 모음입니다. 이 기사에서는 VBA 컬렉션에 대해 알아 봅니다.
VBA의 컬렉션이란 무엇입니까?
컬렉션은 배열과 마찬가지로 유사한 유형의 객체를 저장하는 데이터 유형입니다. 그러나 어레이와 달리 크기는 요구 사항에 따라 동적으로 늘리거나 줄일 수 있습니다.
컬렉션에서 항목을 추가, 찾기, 가져 오기 및 삭제할 수 있습니다.
배열과 달리 컬렉션의 항목 값을 변경할 수 없습니다. 원한다면 배열을 컬렉션의 항목으로 사용하십시오.
컬렉션에는 4 개의 속성 또는 메서드가 연결되어 있습니다.
Collection.Add Collection.Item Collection.Count Collection.Remove
이 기사를 통해 이러한 속성의 사용을 살펴 보겠습니다.
VBA에서 컬렉션을 만드는 방법?
컬렉션은 객체이므로 선언하고 초기화해야합니다. VBA의 다른 개체와 마찬가지로 VBA에서 컬렉션을 만드는 두 가지 방법이 있습니다.
1. 즉시 생성
Dim items as new Collection
위의 방법에서는 객체가 즉시 생성됩니다. 이 컬렉션을 요구 사항에 즉시 사용할 수 있습니다.
2. 지연된 생성
Dim items as Collection Set items = New Collection
이 방법에서는 먼저 컬렉션의 참조를 만들고 필요한 경우 컬렉션 개체로 초기화합니다. 이 방법을 사용하면 몇 가지 기준에 따라 컬렉션을 만들도록 선택할 수 있습니다.
컬렉션에 항목 추가 (Collection.Add)
Add 메서드를 사용하여 컬렉션에 새 항목을 추가합니다.
items.Add "Apples"
위의 코드는 컬렉션에 “Apples”문자열을 추가합니다.
items.Add 1.4
위의 코드는 컬렉션 끝에 1.4 배를 추가합니다.
이러한 항목에 대한 키를 정의 할 수도 있습니다. 이 키는 컬렉션의 항목에 액세스하는 데 사용할 수 있습니다.
컬렉션에 기존 항목 앞 또는 뒤에 항목 삽입
Add 메서드는 컬렉션 끝에 새 항목을 추가합니다. add 메소드에는 4 개의 매개 변수가 있습니다.
Add(item,[Key],[Before],[After])
첫 번째 인수가 필요합니다. 컬렉션에 추가하려는 개체 또는 개체입니다. 나머지 인수는 선택 사항입니다. 이 섹션에서 이러한 인수의 사용을 살펴 보겠습니다.
특정 인덱스 / 키 앞이나 뒤에 항목을 추가하려면 Add 메서드의 Before 및 After 매개 변수를 사용합니다.
items.Add True, "b", "cnst" 'Or items.Add True, Before:="cnst"
두 줄 모두 VBA 컬렉션 항목에서 “cnst”키 앞에 부울 값을 삽입합니다.
수직 인덱스 / 항목 / 키 뒤에 항목을 삽입하려면 Add 메서드의 After 매개 변수를 사용합니다.
'inserting "Mango" with key "m" after key "cnst" items.Add "Mango", Key:="m", after:="b"
위 줄은 키 “b”뒤에 “m”키와 함께 “Mango”를 삽입합니다.
참고 : * 항목의 키는 고유해야합니다. 컬렉션에 이미있는 키는 허용되지 않습니다. VBA는 “키가 이미이 컬렉션의 요소와 연결되어 있습니다”라는 오류를 반환합니다.
우리의 이점을 위해 이것을 사용할 수 있습니다.
컬렉션 항목 액세스 (Collection.Item)
컬렉션 항목에 액세스하는 방법에는 두 가지가 있습니다. . CollectionName ( “인덱스 / 키”)
-
CollectionName.Item ( “인덱스 / 키”)
예를 들어, 인덱스 1 및 키 “apl”에있는 컬렉션 항목 *의 멤버에 액세스하려면 아래 VBA 코드를 사용할 수 있습니다.
Debug.Print items.Item(1) -- Debug.Print items(1) -- Debug.Print items.Item("apl") -- Debug.Print items("apl")
컬렉션에서 항목 수를 얻는 방법은 무엇입니까? (Collection.Count)
컬렉션에있는 개체 또는 항목의 총 수를 얻으려면 컬렉션의 .Count 함수를 사용합니다. .Count 메서드는 컬렉션의 총 항목 수를 반환합니다.
items.Count
위 줄은 컬렉션에있는 개체 수를 제공합니다.
컬렉션의 모든 항목에 액세스하는 방법은 무엇입니까?
VBA에서 컬렉션의 모든 항목에 액세스하는 유일한 방법은 루프입니다.
컬렉션의 각 항목을 반복하여 액세스합니다. 이를 위해 우리는 for 루프를 사용합니다. for-each 루프는 컬렉션 개체에 액세스하는 가장 빠르고 깨끗한 방법으로 간주됩니다.
VBA에서 컬렉션 루핑
VBA에서 컬렉션을 반복하는 방법에는 여러 가지가 있습니다. 컬렉션을 반복하기 위해 각 루프에 가장 우아하게 사용할 것입니다.
컬렉션의 각 항목을 너무 반복하여이 VBA 코드 줄을 사용하십시오.
For Each itm In items Debug.Print itm Next itm
컬렉션에서 항목 제거 (Collection.Remove)
vba 컬렉션에서 항목을 제거하려면 Remove 메서드를 사용할 수 있습니다. remove 메소드는 하나의 인수를 사용합니다. 항목의 색인 또는 키일 수 있습니다 (사용 가능한 경우).
items.Remove (1) 'using index -- items.Remove 1 -- items.Remove ("apl") 'using key -- items.Remove "apl"
VBA에서 컬렉션 삭제
음, vba에서 컬렉션을 삭제할 수 없습니다. 그러나 새 컬렉션으로 다시 설정하여 해당 컬렉션의 모든 항목을 제거 할 수 있습니다.
Set items = New Collection
이 코드 줄은 항목 주소에 대한 새 컬렉션을 만듭니다.
따라서 우리의 컬렉션은 비워 질 것입니다.
VBA의 배열 대 컬렉션
normally.
first.
|
above examples.
directly. |
네, 여러분, 이것이 컬렉션의 기본입니다. Office 도구에는 VBA 컬렉션의 많은 이점과 용도가 있습니다. 우리는 그것들을 함께 탐구 할 것입니다. 그때까지 컬렉션이나 Excel / VBA와 관련된 질문이 있으면 아래 댓글 섹션에 적어 두십시오.