練習問題と内容について
・練習問題の狙い
このシリーズでは課題を元にマクロVBAで実践することでスキルを身につける狙いです。
正直、ソースコード作成については実践あるのみです!
答えのコードについては数例挙げますが、「もっといい答えがある」などの意見があれば
問い合わせから連絡ください!
こんな問題を作ってほしいなどの意見もお待ちしております!
・練習問題2について
こちらはマクロVBAの初歩的な知識になります。
指定範囲の合計値を求めて表示する練習問題となります。
それでは頑張っていきましょう!
練習問題の内容と動作説明
問題内容
セル番地A1からA10までのセルに入力された数値の合計値を求め、その値をセル番地B1に表示する。
動作説明
VBAを使用して、指定されたセル範囲内の数値データの合計値を求め、結果を別のセルに表示します。
この問題では、セル番地A1からA10までのセルに入力された数値データの合計を求めてセル番地B1に表示する必要があります。
ヒント
この問題では、セル範囲内の数値データの合計を求める必要があります。
以下のヒントを参考にして解答コードを作成してみてください。
・ヒントその1
セルの値を操作するためには、Rangeオブジェクトを使用します。
セル範囲を指定するには、Range(“A1:A10”)というように範囲の開始セルと終了セルを指定します。
・ヒントその2
ヒント2は省略可能のため不要ですが、正確で丁寧なソースコードを作成する上で紹介しておきます。
セルに値を入力するには、Valueプロパティを使用します。
例えば、指定セル.Value = 入力したい文字で文字の入力が可能です。
・ヒントその3
合計値を求めるためには、VBAの組み込み関数であるWorksheetFunction.Sumを使用します。
例えば、SumValue = WorksheetFunction.Sum(Range(“A1:A10”))というように、
Sum関数を使ってセル範囲内の合計値を取得できます。
これらのヒントを参考にして、解答コードを作成してみてください。
Excel 2013以下を使用している方はサポートが終了しているので注意が必要です!
【最新2023年】Excel・Officeの価格比較!あなたに合ったオススメの製品の選定方法から購入 ► 独学エクセル塾 (dokugakuexcel.com)
解答コード
では回答を見ていきましょう!
・回答その①
Sub Exercise2to1()
Dim sumValue
sumValue = WorksheetFunction.Sum(Range(“A1:A10”))
Range(“B1”).Value = sumValue
End Sub
上記のコードは、セル範囲A1からA10までの数値データの中から合計値を求め、その値をセルB1に表示するVBAのマクロです。
解答コードでは、まずSumValueという変数を宣言し、WorksheetFunction.Sum関数を使ってセル範囲の合計値を取得します。
取得した合計値を変数SumValueに代入し、最後にRange(“B1”).Valueにその値を表示します。
・回答その②
Sub Exercise2to2()
Dim sumValue As Double
Dim RowNumber As Long
For RowNumber = 1 To 10 Step 1
sumValue = sumValue + Cells(RowNumber, 1)
Next RowNumber
Range(“B1”).Value = sumValue
End Sub
上記のコードでは、ループを使用してセル範囲内の数値データの合計値を求める方法を示しています。
各セルの値をチェックし、数値をSumValueに追加していきます。
この回答例では、For Nextループを使用してセル範囲内の各セルに順番にアクセスし、値を足していきます。
今回は結果の出力でValueプロパティを使用しています。
ちなみにこちらもValueは省略可能です。
必要に応じて、回答コードを選択し、練習問題に取り組んでください。
必要な知識
この問題を解くためには、以下の基本的な知識が必要です!
VBAの基礎
VBAの文法や基本的な概念を理解していることが必要です。
開発タブの表示方法やモジュールの作成、プロシージャ名(プログラムの名前)の設定方法を身につけてみてください!
下記参考記事で紹介しています!
セルの操作
セルに対する操作を行うためには、RangeオブジェクトやCellsオブジェクトを使います。
特定のセルに値を入力するには、RangeオブジェクトのValueプロパティを使用します。
下記参考記事で紹介しています!
数値の比較
合計値を求めるためには、WorksheetFunctionが必要です。
下記参考記事で紹介しています!
ループ構造
合計値を求めるために、セル範囲内の各セルを順番にチェックするループ構造が必要です。
For Nextループを使った反復処理や、Forループを使ったカウンターを利用した反復処理について理解しておくと良いでしょう。
これらの知識を応用して、問題を解くためのコードを作成しましょう。
まとめ
この練習問題では、セル範囲内の数値データの合計を求める方法を学びました。
WorksheetFunction.Sum関数やループ構造を使って、数値を取得し、合計を求めました。
これらの問題を通じて、VBAの基本的な文法やセル操作、数値の比較、ループ構造などの知識を応用することができました。
VBAを使うことで、Excelでの作業を自動化し、効率的に処理することが可能です。
今後は、さらに難易度の高い問題や様々なExcelの機能を組み合わせた問題に挑戦することで、VBAのスキルを向上させることができます。
次の練習問題では、さらに難易度の高い問題に取り組んでいきますので、
順番に解いていくことでスキルを磨いていきましょう。
以上で練習問題2となります。お疲れ様でした!