如何在Sheet3中合并Sheet1和Sheet2?

How to consolidate Sheet1 and Sheet2 in Sheet3?

我需要将 sheet1(2 列:A=REFERENCE 和 B=QTY)和 sheet2(2 列:B=REFERENCE 和 C=QTY)与 sheet3 中的结果合并,例如:A=REFERENCE of sheet1 with sheet2(唯一数据)和 B = QTY sheet1 的总和,C = QTY sheet2 的总和。

工作表 1:

工作表 2:

Sheet3:结果和差异仅在列:A、B 和 C,其他列有 procv。

我使用了 'Record Macro' 和工作簿,如果在另一台 PC 上不起作用。

Sub consolidar()
'
' consolidar Macro
'

'
    Selection.Consolidate Sources:=Array( _
        "'C:\Users\epontes\Desktop\[APR GR e PICAGEM RENAULT VBA.xlsm]02 GR RENAULT (Consolidar)'!R1C1:R1000C2" _
        , _
        "'C:\Users\epontes\Desktop\[APR GR e PICAGEM RENAULT VBA.xlsm]03 CONTAGEM JAP'!R2C2:R1401C3" _
        ), Function:=xlSum, TopRow:=True, LeftColumn:=True, CreateLinks:=False
    Range("A3").Select
End Sub

您的代码引用了 Worksheet 对象的文件路径,因此只有当工作簿存储在完全相同的位置时才会执行 运行。因此将其发送给其他人或在另一台 PC 上打开将导致它失败。在这种情况下,文件路径在很大程度上是多余的,您可以简单地从 Sheet 引用中省略它们,如下所示:

Sub consolidar()
    Selection.Consolidate Sources:=Array( _
        "'02 GR RENAULT (Consolidar)'!R1C1:R1000C2", _
        "'03 CONTAGEM JAP'!R2C2:R1401C3"), _
        Function:=xlSum, TopRow:=True, LeftColumn:=True, CreateLinks:=False
    Range("A3").Select
End Sub