엑셀 VBA #52 / 중복데이터 처리_5 [VBA]-고유항목별 합계구하기
엑셀 VBA #52 / 중복데이터 처리_5 [VBA]-고유항목별 합계구하기
Sub 중복데이터_시군구별합계()
Dim gu As New Collection
Dim rgu As Range, c As Range
Dim e As Variant
Dim tot As Long
Application.ScreenUpdating = False
Set rgu = Range("F2", Cells(Rows.Count, "F").End(xlUp))
'고유한 시군구 추출
On Error Resume Next
For Each c In rgu
If Len(c) Then
gu.Add Trim(c), CStr(Trim(c))
End If
Next
On Error GoTo 0
'시군구별로 합계 ->시군구별 시트 생성->생성된 시트에 합계를 뿌리기
For Each e In gu 'e=new collection(gu)에 저장된 고유한 목록 하나하나..!
tot = Application.SumIf(rgu, e, rgu.Offset(, 2))
'sumif(조건범위, 조건,합을 구할 범위)
'합을 구할 범위 'H2:H열 마지막행'인데 이를 'rgu.Offset(, 2)'로 하는게 Good!!!!
Worksheets.Add(after:=Sheets(Sheets.Count)).Name = e '시군구별 시트 생성
With Sheets(e)
.Range("A1").Resize(1, 2) = Array("시군구", "통화건수")
.Range("A2") = e
.Range("B2") = tot
End With
Next
Application.ScreenUpdating = True
End Sub
https://www.youtube.com/watch?v=dHBovWeJbw8&list=PLfxvqpVCYZ8e0qlyc_FU46neoWjO7yTWj&index=52