- 配列の配列
- 配列の配列 → 2次元配列
- 配列をセルに出力
- Excelシート 重複削除
- セルの値を2次元配列に取得
- 2次元配列をセルに出力
Public Sub Sample()
Dim vArrOfArr
vArrOfArr = Array( _
Array("a", "b", "c", "d"), _
Array(1, 2, 3, 4), _
Array(1, 2, 3, 4), _
Array(1, 3, 3, 4), _
Array(1, 2, 3, 4), _
Array(1, 4, 3, 4), _
Array(1, 2, 3, 4) _
)
Dim v2dArr()
Dim r As Long, c As Long
ReDim v2dArr(UBound(vArrOfArr), UBound(vArrOfArr(0)))
For r = LBound(vArrOfArr) To UBound(vArrOfArr)
For c = LBound(vArrOfArr(r)) To UBound(vArrOfArr(r))
v2dArr(r, c) = vArrOfArr(r)(c)
Next
Next
Dim iRowMax As Long, iColMax As Long
iRowMax = UBound(v2dArr, 1) - LBound(v2dArr, 1) + 1
iColMax = UBound(v2dArr, 2) - LBound(v2dArr, 2) + 1
Cells.Clear
Dim cellStart As Range: Set cellStart = Cells(2, 2)
Dim cellEnd As Range: Set cellEnd = cellStart.Offset(iRowMax - 1, iColMax - 1)
Range(cellStart, cellEnd).Value = v2dArr: Cells.Clear
Range("B2").Resize(iRowMax, iColMax).Value = v2dArr:
Dim rng As Range
Set rng = Range("B2").CurrentRegion
rng.RemoveDuplicates Columns:=Array(1, 2), Header:=xlYes
Dim vGetArrCell As Variant
vGetArrCell = rng.CurrentRegion.Value
iRowMax = UBound(vGetArrCell, 1) - LBound(vGetArrCell, 1) + 1
iColMax = UBound(vGetArrCell, 2) - LBound(vGetArrCell, 2) + 1
Range("B12").Resize(iRowMax, iColMax).Value = vGetArrCell:
End Sub