Microsoft Excel VBA - 串刺し計算を行う方法
◆概要
このページは、Excel VBAで串刺し計算を行う方法について記載しています。
Rangeオブジェクトの「Consolidate」メソッドを使用すると、複数のワークシートに同じ形式で入力されているデータを、ひとつのワークシートに集計することができます。 いわゆる「串刺し計算」を実行するのです。
ワークシートの各セルに、集計のための式を埋め込む必要はありません。集計したいワークシート名とセル範囲を指定して、Consolidateメソッドを実行するだけです。
この集計を実行するプロシージャは、次のようになります。
◆Sample
次の例では、Sheets2からSheet3までのセルの値を集計し、Sheet1に書き込みます。
Sub kusizashi() Worksheets("Sheet1").Range("A1").Consolidate Sources:= _ Array("Sheet2!R1C1:R37C6", "Sheet3!R1C1:R37C6"), Function:=xlSum End Sub |
まず、Consolidateメソッドの先頭に、集計結果を入力するワークシート名とセル番地を指定します。そして、メソッドの名前付き引数Sourcesに、集計したいワークシート名とセル範囲を、「!」でつないで指定します。
複数の範囲名を一度に指定しますので、範囲をArray関数でセットします。ここでは、Sheet2とSheet3の同じセルをセットしています。なお、セル範囲は必ず「R1C1」形式で指定してください。
そして、引数Functionに、計算を実行する方法を定数で指定します。集計を行う場合はxlSumを指定します。これらの引数を設定して、Consolidateメソッドを実行すると、同じセル番地の数値データ同士が合計され、ワークシートSheet1に入力されます。
▼ページトップへ