이런 건 쉬워서 안 올리려다가
EntireRow.Delete 를 활용해본 거라 적어서 올린다.
중복된 바코드는 없애고 유일한 바코드만 추출하여 바코드에 해당하는 수량의 합을 나타내는 매크로다.
Option Explicit
Sub sumCode()
Dim rngCopy As Range
Dim rngStart As Range
Dim rngQty As Range
Dim i As Integer
Dim intR As Integer
'원본 첫셀, 작업할 표의 첫셀, 수량 정의
Set rngCopy = Range("A1")
Set rngStart = rngCopy.End(xlDown).Offset(5, 0)
Set rngQty = rngStart.Offset(, 4)
'기존 자료 삭제
rngStart.CurrentRegion.Clear
'원본 내용을 아래로 붙여넣기
rngCopy.CurrentRegion.Copy rngStart
'제목열을 제외한 작업 표의 열 개수
intR = rngStart.CurrentRegion.Rows.Count - 1
'마지막열부터 제목열 제외한 열까지 한칸씩 줄여가며 작업
For i = intR To 1 Step -1
With rngStart
If .Offset(i - 1, 1) = .Offset(i, 1) Then
'바코드가 같을 경우 QTY를 더해감
With rngQty
.Offset(i - 1, 0) = .Offset(i - 1) + .Offset(i)
End With
'중복된 바코드 삭제
.Offset(i, 0).EntireRow.Delete
End If
End With
Next i
End Sub
'VB(A)' 카테고리의 다른 글
Collection 객체를 활용하여 중복값 찾기 (0) | 2015.02.19 |
---|---|
숫자만 인식하기 (0) | 2015.02.17 |
대량의 텍스트파일을 1열로 불러오기 (0) | 2015.02.16 |
시간대별 근무인원 구하기 (0) | 2015.02.10 |
사용자정의 함수 (0) | 2015.02.07 |