|    | 
     Sheet1にSheet3から引っ張ってきた数値を反映させたいです。 
 
1.Sheet1のセル"C7"と同じ品名をSheet3のD列から検索 
2.Sheet3のG列に書いてある個数を、 
 Sheet1のセル"C7"と一致している物全て合算 
3.Sheet1のセル"G7"に反映 
今は 
Private Sub コマンド_Click() 
  Range("G7").Value = Application.WorksheetFunction. _ 
  VLookup(Range("C7"), Worksheets("Sheet3").Range("D:G"), 4, False) 
End Sub 
としていますが、これでは当該行の1列目しか反映してくれません。 
 
 
ちなみに、Sheet1には 
=IF(ISERROR(VLOOKUP($A7,Sheet2!$E$7:$X$120,20,0)),"",VLOOKUP($A7,Sheet2!$E$7:$X$120,20,0)) 
の式が組み込まれており、 
しかもSheet2とSheet3は後からSheet1に毎月挿入していく形です。 
ので、最初はSheet1しかなく、Sheet2を挿入した時点でSheet1に#REFの置換をかけます。 
故に、Sheet3を反映させる部分は関数では組めないのです。 
なぜならば、Sheet3を反映させたい部分もSheetを組み込む前は#REF状態になっておりますので、 
本当であればSheet3を反映させたいのにSheet2のを反映させてしまうからです。 
(この説明で分かるのでしょうか?) 
 
ので、Sheet3を反映させるときにはマクロで組みたいのですが、 
どのようにすればいいでしょうか? 
 | 
     
    
   |