2017-11-23 10 views
0

同じ人の重複を持つテーブルがあり、データの各行に割り当てられた2つの列を合計しながらこれらを1つの行にマージしたいと考えています。例えばvbaでの値の集約、マージ、および合計

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-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から内容を削除し、左に移動して新しい列を右の列に移動します。最後に、重複を削除して、必要に応じてコンパイル済み一覧を表示します。

関連する問題