2017-07-20 9 views
1

同じExcelに2枚あります。マクロ最初のワークシートでコピーされたExcelの2番目のワークシートの値

まずExcelシートは

No  Material   10th july 11th july 
    1 DATUM DCP ESD Black      
    2 DATUM DCP ESD Blue   

は私の2番目のワークシートが含まれている次のフィールド次のフィールド、私は最初のワークシートに次の期待される結果が欲しい

No  Date    Material   Stock size+Wastage 
    1 10th july  DATUM DCP ESD Black   283.47 
    2 10th july  DATUM DCP ESD Black   661.6 
    3 11th july  DATUM DCP ESD Blue   665.6 
    4 11th july  DATUM DCP ESD Black   50.8 

が含まれています: -

No  Material    10th july 11th july 
    1 DATUM DCP ESD Black  945.07 50.8   
    2 DATUM DCP ESD Blue     665.6 
+1

Stack Overflowは無料のコード作成サービスではありません。すでに試したコードを表示して、*具体的な*質問をしてください(まだ質問はしていません)。 [ask]と[[なぜ誰かが私を助けることができるのですか?]実際の質問ではありませんか?](https://meta.stackoverflow.com/a/284237/3219613) –

+0

これは書くのが簡単なはずです。あなたはどこにいらっしゃいますか? –

+0

実際には、私は助けてくれるように頼むだけのマクロコードとそこにある基礎を知らない –

答えて

2

ここにVBAは必要ありません。最初のシートを無視し、2番目のシートからピボットテーブルを作成します。

+0

ピボットテーブル?私はこの前にピボットテーブルを使用しないでください。 –

4

マクロを忘れて、ピボットテーブルを使用してください。
ピボットテーブルからデータを追加した後で、いつでもピボットテーブルを更新することができます。 私はピボットテーブルのフィールドの設定方法pic of pivot table of the data

:「シート1」と「Sheet2のは」ある
how i set up the fields in the pivot table

+0

ありがとうございます:)私はそれをします –

0
Sub summ() 
    With Worksheets("Sheet2") 
     .Range("B2:B" & Range("B" & "65536").End(xlUp).row).Name = "Dates" 
     .Range("C2:C" & Range("C" & "65536").End(xlUp).row).Name = "Materials" 
     .Range("D2:D" & Range("D" & "65536").End(xlUp).row).Name = "Numbers" 
    End With 
    With Worksheets("Sheet1") 
     .Cells(2, 3).FormulaR1C1 = _ 
      "=SUMPRODUCT((Worksheets("Sheet2")!Dates=R1C) * (Worksheets("Sheet2")!Materials=RC1) * (Worksheets("Sheet2")!Numbers)" 
     .Range(Cells(2, 3).Address).AutoFill _ 
      Destination:=Range(Cells(2, 3).Address, Cells(2, Y)), Type:=xlFillDefault 
     .Range(Cells(2, X).Address).AutoFill _ 
      Destination:=Range(Cells(2, Y).Address, Cells(X, Y)), Type:=xlFillDefault 
End Sub 

これは、ピボットテーブルは次のようになります方法です1枚目と2枚目の名前がそれぞれ表示されます。
ここで、Xは最後に使用された行です(number_of_materials - 1)。
ここで、Yは最後に使用された列(number_of_dates - 1)です。
複雑な作業ではないので、マクロではなく数式の使用をお勧めします。

+0

ありがとうございます:) –

関連する問題