컴퓨터/엑셀

vba 배열

풍경소리^^ 2022. 5. 1. 19:43

vba26 new collection 고유값 합계

Sub vba26foreachnext고유값합계sumif()
    Sheets("빈셀").Activate
    Dim dc As New Collection 'new collection 객체는 중복값이 나오면 error발생
    Dim c As Range
    
    On Error Resume Next 'new collection 객체는 중복값이 나오면 error발생
    For Each c In Range("g2:g9")
        dc.Add Trim(c), CStr(Trim(c))
    Next c
    On Error GoTo 0 'new collection 객체는 중복값이 나오면 error발생
    
    'MsgBox dc.Count
    
    Dim rc As Range
    Set rc = Range("g2", Cells(Rows.Count, "g").End(xlUp)) '개체변수는 set
    'rc.Select
    Dim rs As Range
    Dim i As Long
    Set rs = Range("h2", Cells(Rows.Count, "h").End(xlUp)) '개체변수는 set
    Range("j1", Cells(Rows.Count, "j").Offset(, 1).End(xlUp)).Clear
    Range("j1") = "고유목록판정"
    For i = 1 To dc.Count
        Cells(i + 1, "j") = dc(i)
        Cells(i + 1, "k") = Application.SumIf(rc, dc(i), rs)
    Next i
End Sub

Sub vba47중복데이터newcoll()
    Sheets("중복").Activate
    Dim rng As Range
    Set rng = Range("k1", Cells(Rows.Count, "k").End(xlUp))
    If Range("n2") <> "" Then Range("n2", Cells(Rows.Count, "n").End(xlUp)).Clear
    Dim dc As New Collection  'new collection과 항상 같이
    
    Dim c As Range
    On Error Resume Next 'new collection과 항상 같이
    For Each c In rng
        If Len(c) Then
            dc.Add Trim(c), CStr(Trim(c))
        End If
    Next c
    On Error GoTo 0 'new collection과 항상 같이
    Dim i As Long
    For i = 1 To dc.Count
        Cells(i, "n") = dc(i)
    Next i
End Sub

VBA82에러처리.xlsm
0.84MB

 

vba27 배열, 126 배열, 118 Dictionary, 119 Dictionary, 127 배열+Dictionary

1차원배열

arr(0) arr(1) arr(2) arr(3) arr(4) arr(5) arr(6)

가로방향

시작 0

 

2차원배열

arr(0,0) arr(0,1) arr(0,2)

arr(1,0) arr(1,1) arr(1,2)

arr(2,0) arr(2,1) arr(2,2)

arr(3,0) arr(3,1) arr(3,2)

arr(4,0) arr(4,1) arr(4,2)

arr(5,0) arr(5,1) arr(5,2)

arr(6,0) arr(6,1) arr(6,2)

arr(7,0) arr(7,1) arr(7,2)

arr(8,0) arr(8,1) arr(8,2)

세로방향

시작 0

 

주의 - 2차원

셀범위로 만든 배열

arr(1,1) arr(1,2) arr(1,3)

arr(2,1) arr(2,2) arr(2,3)

arr(3,1) arr(3,2) arr(3,3)

arr(4,1) arr(4,2) arr(4,3)

arr(5,1) arr(5,2) arr(5,3)

arr(6,1) arr(6,2) arr(6,3)

arr(7,1) arr(7,2) arr(7,3)

arr(8,1) arr(8,2) arr(8,3)

arr(9,1) arr(9,2) arr(9,3)

세로방향

시작 1

배열엑셀디자인.xls
0.04MB

 

dictionary

vba 118,119

 

'컴퓨터 > 엑셀' 카테고리의 다른 글

vba 배열원소 random 할당  (0) 2022.05.05
vba 그룹별순번매기기  (0) 2022.05.04
vba 순번매기기  (0) 2022.04.29
vba 여러셀 기호 넣어 셀합치기, 셀나누기  (0) 2022.04.14
vba 셀텍스트합치기  (0) 2022.01.28