반응형
VBA 사전을 통해 반복하시겠습니까?
MS Runtime Scripting 라이브러리의 Dictionary 클래스를 사용하여 보고서 템플릿의 레이블 위치를 저장하고 있습니다.파이썬에서처럼 사전의 모든 키 값 쌍을 반복할 수 있는 방법이 있습니까?
키를 행 번호(A열에 모두 들어갑니다)로 사용하고 싶습니다. 값은 레이블 헤더가 됩니다.
다음과 같은 것:
For Each key in dict
Range("A" & key).Value = dict(key)
Next key
시도:
For Each varKey In oDic.Keys()
Range("A" & varKey).Value = oDic(varKey)
Next
키 반복기는 다음과 같이 선언해야 합니다.Variant
.
이를 위해 많은 것은 아니지만 배열과 같이 키당 여러 개의 값이 있는 경우에는 코드가 조금 더 필요합니다.제가 여기에 글을 올린 것은 처음이라 제가 잘못했다면 사과드립니다...
Dim dict As New Scripting.Dictionary
Dim k As Variant
Dim v As Variant
Set dict = New Scripting.Dictionary
'Add code to populate your dictionary
For Each k In dict.Keys()
Debug.Print k, Join(dict(k), ",") 'Prints out all the details for the key
For Each v In dict(k)
Debug.Print v
Next
Next k
이 코드의 일부는 VBA Dictionary with Dynamic Arrays에서 제공됩니다.
언급URL : https://stackoverflow.com/questions/1296225/iterate-over-vba-dictionaries
반응형
'programing' 카테고리의 다른 글
C# 집합을 설정하시겠습니까? (0) | 2023.05.21 |
---|---|
'az'라는 용어가 cmdlet, 함수, 스크립트 파일 또는 작동 가능한 프로그램의 이름으로 인식되지 않습니다. (0) | 2023.05.21 |
원격 저장소에 푸시된 Git의 특정 커밋 실행 취소 (0) | 2023.05.21 |
엔티티 프레임워크를 사용한 LIKE 쿼리 (0) | 2023.05.16 |
동기식 연결에 HttpClient를 사용하는 이유 (0) | 2023.05.16 |