今日はVBAの勉強。勉強し始めてもうすぐ1年というのに理解がかなり遅いです。
休日に1時間弱の勉強、それもやったりやらなかったりなので...
今までの勉強の流れとしては
たてばやし 淳 さんの『Excel VBA 脱初心者のための集中講座』を一通り終えて、
サイトExcelとVBAの入門解説|エクセルの神髄の練習問題を進めてます。
今日やったのはコチラ。練習問題6(変数を使っての合計の練習)|VBA練習問題
自力で出来なかったのは以下
1,金額の合計値を最終行の一行下に計算すること
2,合計値の出し方
調べた結果
最終行の一行下は
n = Cells(Rows.Count, "B").End(xlUp).Row + 1
これで追加できるらしい。
合計値は調べても関数を利用するものしかhitせず、解答をみました。
lngTotalをつくり、初期値を0にする。
そこにCells(i, "D")をどんどん足していく方法みたいでした。
私が書いたコードはこちら
Option Explicit
Sub 合計金額()
Dim i As Long
Dim lastRow As Long
Dim n As Long
Dim lngtotal As Long
n = Cells(Rows.Count, "D").End(xlUp).Row + 1
lngtotal = 0
lastRow = Cells(Rows.Count, 1).End(xlUp).Row
For i = 2 To lastRow
Cells(i, "D") = Cells(i, "B") * Cells(i, "C")
lngtotal = lngtotal + Cells(i, "D")
Next i
Cells(n, "D") = lngtotal
End Sub
なんとも不格好。恥ずかしい。いつか笑い話にできるように証拠残しときます。
最終行の1行下にデータを追加する方法は、模範解答では
Cells(lastRow + 1, 4) = lngTotal
なんともシンプル。
自分の発想力のなさが恥ずかしい。
精進します。