2017-11-23 5 views
0

나는 같은 사람의 중복이있는 테이블이 있고 나는 데이터의 각 행에 할당 된 두 개의 열을 합계하면서 하나의 행으로 병합하고 싶습니다. 예를 들어병합, 병합 및 합계 값을

: enter image description here

내가 일치 무엇에 내 '기준점'로 열 A를 사용하여 D에 열 A의 데이터를 병합하고자하고있다. 그런 다음 열 E와 F에 함께 값을 더하고 싶습니다. 아래에 결과를 알려주세요. 확실 해요

enter image description here

이에 대한 간단한 해결책이 있지만 VBA 꽤 새로운 해요 아무것도 건너하지 않았습니다.

감사

+1

[피봇 테이블] (https://support.office.com/en-us/article/Create-a-PivotTable-toPanot-to-analyze-worksheet-data-A9A84538-BFE9-40A9-A8E9-F99134456576) 구출! –

+0

이 작업을 프로세스의 일부로 자동 수행하고 VBA로 작업하기를 원합니다. – jufg

+1

피벗 테이블을 직접 작성하면 VBA 솔루션이 생깁니다. –

답변

0

이 다음과 같은 코드 사용하여 달성 될 수

본질적
Sub foo() 
LastRow = Sheet1.Cells(Sheet1.Rows.Count, "A").End(xlUp).Row 
For x = 2 To LastRow 
    Sheet1.Cells(x, 7).Value = "=SUMIF(R1C1:R17C6,RC[-6],C[-2])" 
    Sheet1.Cells(x, 8).Value = "=SUMIF(R1C1:R17C6,RC[-7],C[-2])" 
Next x 

Range("G2:H" & LastRow).Copy 
Range("G2:H" & LastRow).PasteSpecial Paste:=xlPasteValues, operation:=xlNone, SkipBlanks:=False, Transpose:=False 
Range("E2:F" & LastRow).Delete Shift:=xlToLeft 
Sheet1.Range("$A$1:$H$" & LastRow).RemoveDuplicates Columns:=Array(1, 2, 3, 4, 5, 6, 7, 8), Header:=xlNo 
End Sub 

이 코드 열의 G & H 다음 복사의 모든 값을 가산 및 값 (없애으로 붙이기 셀의 수식)은 열 E & F에서 내용을 삭제하고 왼쪽으로 이동하여 새 열을 오른쪽 열로 이동 한 다음 마지막으로 원하는 중복 목록을 제거하여 원하는대로 컴파일 된 목록을 제공합니다.