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