셀을 지정해 CurrentRegion로 범위 취득한 테이블을, 키+배열로 Dictionary에 부치 넣는다
이를 적용하여 범위를 얻은 테이블이 몇 행이더라도
가장 왼쪽 열: 키
기타 열: 배열
로 사전에 저장할 수 있습니다.
이제 테이블의 데이터를 가져오는 것이 매우 편리합니다.
아래 예에서 쓰는 방법을 설명하면,
dic(菊池)(1)
라고 쓰면 168, dic(芦田)(2)
라고 쓰면 44를 호출할 수 있습니다.실질적인 본체는 단 7행입니다만, 엄청 머리를 사용했습니다. 자신의 땀과 시행 착오의 결정입니다.
[테스트 데이터]
testDic.bas
Dim dic As Object: Set dic = CreateObject("Scripting.Dictionary")
Dim arr As Variant: arr = Sheets("Sheet2").Range("E6").CurrentRegion.Value
Dim arrItem()
Dim maxColNum_0 As Integer: maxColNum_0 = UBound(arr, 2) - 2
Dim LP1 As Long, LP2 As Long
ReDim arrItem(maxColNum_0)
For LP1 = 2 To UBound(arr, 1)
For LP2 = 0 To maxColNum_0
arrItem(LP2) = arr(LP1, LP2 + 2)
Next LP2
dic.Add arr(LP1, 1), arrItem
Next LP1
'----デバッグ部----
'配列の中身を全部見せ
Dim i As Integer, j As Integer, str As String
Dim maxRow As Integer: maxRow = UBound(arr, 1)
Dim maxColumn As Integer: maxColumn = UBound(arr, 2)
For i = 1 To maxRow
For j = 1 To maxColumn
str = "arr(" & i & ", " & j & ")=" & arr(i, j)
Debug.Print str
Next
Debug.Print
Next
'Dicの中身を全部見せ
Dim var As Variant
For Each var In dic
Debug.Print "キー:" & var
For LP2 = 0 To maxColNum_0
Debug.Print "dic(" & var & ")(" & LP2 & "):", dic(var)(LP2)
Next LP2
Next var
End Sub
[실행 결과]
Reference
이 문제에 관하여(셀을 지정해 CurrentRegion로 범위 취득한 테이블을, 키+배열로 Dictionary에 부치 넣는다), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/gemsbokker/items/6ade6ad71687e629800b텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)