VBAももちろん便利ですが、
エクセルの強みは、ワークシートだと思います。
データベースのように使えたりとか、
便利な関数を使って、表の上で計算できます。
エクセルVBA自体にも、様々な関数がありますが、
エクセルの関数もVBAで制御することが出来ます。
エクセルの関数をワークシート関数といいます。
とっても簡単です!
ワークシートの関数を使うには、
WorksheetFunction.エクセルの関数名()のように書きます。
今回の場合は、WorksheetFunction.sum()ですね。
InputBoxで、何列目~何列目まで累計するかを聞いて、
自動で一番右に累計行を追加して計算するマクロを作成してみました。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
Sub ruikei() Dim Inp As Long '何列目からを格納する変数 Dim inpEnd As Long '何列目までを格納する変数 Dim Maxrow As Long '最終行の変数 Dim Maxcol As Long '最終列の変数 Dim i As Long 'ループ用変数 Maxrow = Cells(Rows.Count, 1).End(xlUp).Row '最終行の取得 Maxcol = Cells(1, Columns.Count).End(xlToLeft).Column '最終列の取得 Inp = InputBox("開始列~終わり列までを累計します。まずは、開始列を入力してください。") 'メッセージボックを表示して、変数に格納 inpEnd = InputBox("終わり列を入力してください。") Cells(1, Maxcol + 1).Value = Inp & "列~" & inpEnd & " 列まで累計" '一番右に項目列を追加 For i = 2 To Maxrow Cells(i, Maxcol + 1).Value = WorksheetFunction.Sum(Range(Cells(i, Inp), Cells(i, inpEnd))) 'ワークシート関数SUMを使う Next i End Sub |
↓よろしければクリックお願いします🌼
にほんブログ村
コメント