| 
    
     |  | 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を反映させるときにはマクロで組みたいのですが、
 どのようにすればいいでしょうか?
 
 
 |  |