練習問題と内容について
・練習問題の狙い
このシリーズでは課題を元にマクロVBAを実践することでスキルを身につけることが出来ます。
正直、ソースコード作成については実践あるのみです!
答えのコードについては数例挙げますが、「もっといい答えがある」などの意見があれば
問い合わせから連絡ください!
こんな問題を作ってほしいなどの意見もお待ちしております!
・練習問題19について
こちらはマクロVBAの知識で少し発展した課題になります。
指定されたセルの文字列を連結・つなげて表示する練習問題となります。
それでは頑張っていきましょう!
練習問題の内容と動作説明
問題内容
セルA1、A2、A3の文字列を連結する
動作説明
VBAを使用して、セルA1、A2、A3に入力された文字列を取得し、それらを連結して1つの文字列として表示します。
この問題では、セルA1、A2、A3の文字列を連結し、結果を表示する必要があります。
ヒント
以下のヒントを参考にして解答コードを作成してみてください。
・ヒントその1
セルに値を表示するためには、Rangeオブジェクトを使用します。
セルを指定して該当するセルオブジェクトを取得し、計算する必要があります。
セルを指定するには、Range(“A1”)というようにセルを指定します
・ヒントその2
取得したセルの値を文字列として連結するためには、連結演算子(&)を使用します。
例えば、表示先= 文字1 & 文字2 というように、使用することで文字1 と 文字2を連結できます
以上のヒントを参考に課題に取り組んでみてください!
Excel 2013以下を使用している方はサポートが終了しているので注意が必要です!
【最新2023年】Excel・Officeの価格比較!あなたに合ったオススメの製品の選定方法から購入 ► 独学エクセル塾 (dokugakuexcel.com)
解答コード
では回答を見ていきましょう!
・回答その①
Sub Exercise19to1()
Dim result As String
result = Range(“A1”).Value & Range(“A2”).Value & Range(“A3”).Value
Range(“C2”).Value = result
End Sub
上記のコードでは、セルA1、A2、A3の文字列を連結して結果を表示するVBAのマクロです。
解答コードでは、resultという変数を用意し、それぞれのセルの値を取得して連結しています。
最後に、C2に連結した文字を表示します。
それでは実行してみましょう。
結果はこのようになります。
A1からA3の文字をつなげることが出来ました。
・回答その②
Sub Exercise19to2()
Dim result As String
Dim cycle As Long
For cycle = 1 To 3 Step 1
result = result & Cells(cycle, 1)
Next cycle
Range(“C2”).Value = result
End Sub
上記のコードでは、Cells関数を使用して、行番号と列番号を指定してセルの値を取得し、それらを連結して結果を表示しています。
解答コードでは、resultという変数を用意し、それぞれのセルの値を取得して連結しています。
最後に、C2に連結した文字を表示します
必要な知識
この問題を解くためには、以下の基本的な知識が必要です。
ループ構造
回答②の繰り返し処理をするために、セル範囲内の各セルを順番に読み取るループ構造が必要です。
For Nextループを使った反復処理を利用した反復処理について理解しておくと良いでしょう。
これらの知識を応用して、問題を解くためのコードを作成しましょう。
文字列の連結
VBAでは、文字列の連結には連結演算子(&)を使用します。
連結演算子を使うことで、複数の文字列を結合して1つの文字列にすることができます。
まとめ
この練習問題では、RangeオブジェクトとValueプロパティを使用してセルの値を取得し、連結演算子を使って文字列を連結しました。
練習問題に取り組む際は、解答コードと必要な知識を参考にしてください。
練習問題の難易度を上げながら、VBAのスキルを磨いていくことができます。
以上が練習問題19となります。お疲れ様でした!