計算式を埋め込む

このエントリーをはてなブックマークに追加  



抽出した結果に計算式を埋め込んでみましょう。



Sheet1 に入力されているリストから「商品コード=A001」のデータだけを Sheet2 に抽出し、「受注数」の合計を最下行に表示します。「受注数」の数値を VBA で計算して結果だけを表示することもできますが、ここでは最下行に SUM 関数を埋め込む方法をご紹介します。抽出する部分のコードは Sample03_2 をそのまま使えますので Call しちゃいましょう。

Sub Sample04()
    Call Sample03_2
    With Worksheets("Sheet2").Cells(Rows.Count, 1).End(xlUp)
        .Offset(1, 0) = "合計"
        .Offset(1, 2).FormulaLocal = "=SUM($C$2:" & .Offset(0, 2).Address & ")"
    End With
End Sub



合計の計算式を最下行に埋め込むには、まず最下行が何行目かを調べなければなりません。これには古典的かつ有効な方法があります。End ステートメントです。Excel の End モードを利用して、ワークシートの最下行から上方向にジャンプします。End ステートメントの返り値はデータが入力されている最下行になりますので、Offset プロパティで 1 つ下のセルや右隣のセルを取得します。

ここでは「=SUM($C$2:$C$5)」のように絶対参照で SUM 関数を作成しましたが、相対参照にしたいのでしたら最後のコードを

.Offset(1, 2).FormulaLocal = "=SUM(C2:" & .Offset(0, 2).Address(0, 0) & ")"

とします。


このエントリーをはてなブックマークに追加