【マクロVBA練習問題2】指定されたセルの範囲の合計値を求めて結果をセルに入力

マクロVBA練習問題




練習問題と内容について

・練習問題の狙い

このシリーズでは課題を元にマクロ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・officeを試しませんか?
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のマクロです。

Application.WorksheetFunction.Sum(合計を求めたい範囲)

解答コードでは、まず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ループを使用してセル範囲内の各セルに順番にアクセスし、値を足していきます。

 

Sub 繰り返し動作()
 Dim 変数 As Long

   For 変数 = 開始値 To 終わり値 Step 1回で進む数
       ‘ここに処理プログラム
   Next 変数
End Sub

 

今回は結果の出力でValueプロパティを使用しています。
ちなみにこちらもValueは省略可能です。

必要に応じて、回答コードを選択し、練習問題に取り組んでください。

 

必要な知識


この問題を解くためには、以下の基本的な知識が必要です!

VBAの基礎

VBAの文法や基本的な概念を理解していることが必要です。
開発タブの表示方法やモジュールの作成、プロシージャ名(プログラムの名前)の設定方法を身につけてみてください!

下記参考記事で紹介しています!

セルの操作

セルに対する操作を行うためには、RangeオブジェクトやCellsオブジェクトを使います。
特定のセルに値を入力するには、RangeオブジェクトのValueプロパティを使用します。

下記参考記事で紹介しています!

数値の比較

合計値を求めるためには、WorksheetFunctionが必要です。

下記参考記事で紹介しています!

ループ構造

合計値を求めるために、セル範囲内の各セルを順番にチェックするループ構造が必要です。
For Nextループを使った反復処理や、Forループを使ったカウンターを利用した反復処理について理解しておくと良いでしょう。

これらの知識を応用して、問題を解くためのコードを作成しましょう。

 

 

まとめ


この練習問題では、セル範囲内の数値データの合計を求める方法を学びました。
WorksheetFunction.Sum関数やループ構造を使って、数値を取得し、合計を求めました。

これらの問題を通じて、VBAの基本的な文法やセル操作、数値の比較、ループ構造などの知識を応用することができました。
VBAを使うことで、Excelでの作業を自動化し、効率的に処理することが可能です。

今後は、さらに難易度の高い問題や様々なExcelの機能を組み合わせた問題に挑戦することで、VBAのスキルを向上させることができます。

次の練習問題では、さらに難易度の高い問題に取り組んでいきますので、
順番に解いていくことでスキルを磨いていきましょう。

以上で練習問題2となります。お疲れ様でした!