VBAのシートループ代わりにVSTACKで複数シートを統合する方法は?
VBAでFor Each ws In Worksheetsでシートをループして結合していた処理は、Excel 365のVSTACK関数で置き換えられます。`=VSTACK(Sheet1!A:D, Sheet2!A:D, Sheet3!A:D)`のように各シートの範囲を列挙すれば、縦方向に自動統合されます。INDIRECT関数と組み合わせて動的にシート名を生成することも可能です。VBAのようにループカウンタや結合先範囲の計算が不要で、シートが増減しても数式の修正だけで対応できます。
📊 バージョン対応
2016
❌
非対応
2019
❌
非対応
2021
❌
非対応
365
✅
対応
VBA代替VSTACKシート統合複数シート
📄
動的配列関数 移行マップ
旧関数 → 新関数の書き換え一覧(2021/365対応)
準備中※ PDFは現在作成中です。近日公開予定