VBA練習問題解答
練習問題6(変数を使っての合計の練習)解答

Excelマクロ練習問題集、エクセルVBAの学習教材
最終更新日:2019-11-03

練習問題6(変数を使っての合計の練習)解答

マクロVBA練習問題6の解答ページです。


マクロVBA練習問題

・金額を計算して、D列に入れて下さい、
・金額の合計を計算し、最終行の1行下のD列に入れて下さい。
 (下の票では、D22セルになります。)

練習問題用のExcelファイル
 A     B   C   D
日付 数量 単価 金額
1月1日 26 304  
1月2日 68 305  
1月3日 84 972  
1月4日 53 684  
1月5日 34 703  
1月6日 56 628  
1月7日 12 619  
1月8日 92 356  
1月9日 31 949  
1月10日 19 229  
1月11日 54 507  
1月12日 35 666  
1月13日 83 728  
1月14日 68 272  
1月15日 78 236  
1月16日 87 334  
1月17日 34 490  
1月18日 32 650  
1月19日 68 348  
1月20日 98 744  

※上記表の全体を選択し、コピー(Ctrl+C)の後、エクセルのシートのA1セルに貼り付け(Ctrl+V)してください。

では、お考えください。
すぐに解答を見ずに、必ず自力で書けるとこまででも良いので書きましょう。

シンキングタイム

シンキングタイム開始


シンキングタイム終了

当サイトのコンテンツ
ExcelマクロVBA入門
マクロVBA入門シリーズでは、ExcelマクロVBAを実務で自在に使いこなし業務を効率化できるようになることを目的として、始めはより詳しく丁寧に解説しつつ少しずつ難易度を上げることで無理なく学習を進められるようにしています。マクロとはエクセルの操作を自動化する機能で、中身はVBA言語で記述されます。

書くべきマクロVBAが分からない時は、
ここでじっくり勉強してから再チャレンジしてください。

マクロVBA練習問題解答

では解答のマクロVBAコードです。
※.Valueは省略しています。

Sub 練習問題6()
  Dim i As Long
  Dim lngTotal As Long
  Dim lastRow As Long
  lngTotal = 0
  lastRow = Cells(Rows.Count, 1).End(xlUp).Row
  For i = 2 To lastRow
    Cells(i, 4) = Cells(i, 2) * Cells(i, 3)
    lngTotal = lngTotal + Cells(i, 4)
  Next
  Cells(lastRow + 1, 4) = lngTotal
End Sub

lngTotal = 0
これは無くても正常に動作しますが、初期化は明記した方が良いでしょう。
また、
合計を入れる時に、
Cells(i, 4) = lngTotal
とすることも可能ですが、これは、なるべく避け他方が良いでしょう。
For~Nextは自動カウントアップなので、
その終了値を期待しての記述はあまり好ましくありません。

変数には、型がいろいろありますが、通常使う型は限られています。
数値ならLongで大抵は大丈夫でしょう。
小数があるならDoubleで良いでしょう。

以下も参考にして下さい。

ExcelマクロVBA入門.第12回.変数とデータ型(Dim)
マクロVBA入門者が、まず最初につまずくのが、このDimで変数を宣言することでしょう。変数とは、数値や文字列など(すなわちデータ)を一時的に格納する入れ物 と良く説明されますが、まずはこの考えで良いでしょう。この入れ物には、いろいろなタイプの入れ物があります。



同じテーマ「マクロVBA練習問題解答」の記事

練習問題3(二重ループの練習)解答
練習問題4(Ifの練習)解答
練習問題5(ElseIfとSelect Caseの練習)解答
練習問題6(変数を使っての合計の練習)解答
練習問題7(メッセージボックスの練習)解答
練習問題8(表示形式の練習)解答
練習問題9(文字色・背景色の練習)解答
練習問題10(罫線の練習)解答
練習問題11(色々なコピーの練習)解答
練習問題12(日付関数の練習)解答
練習問題13(文字列関数の練習)解答


新着記事NEW ・・・新着記事一覧を見る

列全体を指定する時のRangeとColumnsの違い|ツイッター出題回答 (2023-09-24)
シートのActiveXチェックボックスの指定方法|ツイッター出題回答 (2023-09-24)
ByRef引数の型が一致しません。|ツイッター出題回答 (2023-09-22)
シートコピー後のアクティブシートは何か|ツイッター出題回答 (2023-09-19)
Excel関数の引数を省略した場合について|ツイッター出題回答 (2023-09-14)
セル個数を返すRange.CountLargeプロパティとは|VBA技術解説(2023-09-08)
記号を繰り返してグラフ作成(10単位で折り返す)|ツイッター出題回答 (2023-08-28)
シートを削除:不定数のシート名に対応|VBAサンプル集(2023-08-24)
ランクによりボイントを付ける(同順位はポイントを分割)|ツイッター出題回答 (2023-08-22)
OneDrive使用時のThisWorkbook.Pathの扱い方|VBA技術解説(2023-07-26)


アクセスランキング ・・・ ランキング一覧を見る

1.最終行の取得(End,Rows.Count)|VBA入門
2.RangeとCellsの使い方|VBA入門
3.繰り返し処理(For Next)|VBA入門
4.変数宣言のDimとデータ型|VBA入門
5.セルのコピー&値の貼り付け(PasteSpecial)|VBA入門
6.マクロとは?VBAとは?VBAでできること|VBA入門
7.ブックを閉じる・保存(Close,Save,SaveAs)|VBA入門
8.並べ替え(Sort)|VBA入門
9.Range以外の指定方法(Cells,Rows,Columns)|VBA入門
10.条件分岐(IF)|VBA入門




このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。


記述には細心の注意をしたつもりですが、
間違いやご指摘がありましたら、「お問い合わせ」からお知らせいただけると幸いです。
掲載のVBAコードは動作を保証するものではなく、あくまでVBA学習のサンプルとして掲載しています。
掲載のVBAコードは自己責任でご使用ください。万一データ破損等の損害が発生しても責任は負いません。



このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。
本文下部へ