初歩的な質問で恐縮です。
worksheetfunctionで複数のシートにまたがる数値を集計して、値を入れたいのですが、
for eachを使ってシートの数だけ値を計算します。
for each ws in worksheets
c = WorksheetFunction.VLookup(rng, ws.Range("b:g"), 3, 0) * -1
ws2.Cells(s, 4) = WorksheetFunction.VLookup(rng, ws1.Range("b:y"), 18, 0) + c
next
これだと、wsの最後のシートだけ参照して合計値が計算されません。
WorksheetFunction.VLookup(rng, ws1.Range("b:y"), 18, 0) こちらの数値の計算は一度だけでよいです。
説明が拙くて申し訳ありません。
つまり
各シートの合計値(c)+WorksheetFunction.VLookup(rng, ws1.Range("b:y"), 18, 0)をws2.Cells(s, 4)に返したいです。
何卒よろしくお願いいたします。