VB(A)

중복값 제외하고 수량 합산하기

당근쨈 2015. 2. 16. 14:01

이런 건 쉬워서 안 올리려다가

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


같은바코드값합치기(샘플).xlsm



'VB(A)' 카테고리의 다른 글

Collection 객체를 활용하여 중복값 찾기  (0) 2015.02.19
숫자만 인식하기  (0) 2015.02.17
대량의 텍스트파일을 1열로 불러오기  (0) 2015.02.16
시간대별 근무인원 구하기  (0) 2015.02.10
사용자정의 함수  (0) 2015.02.07