
Excel VBA 基礎学習 第8回
第8回では、VBAの練習として「セルの値を取得するプログラム」の記述を行います。この回も「模写」を通して、VBAでどのように記述するのかを学習します。
第1章 VBAの練習
【目標】
ワークシートを選択するプログラムを記述して実行できる。(第3回)
アクティブシートを変更するプログラムを記述する。(第4回)
セルを選択するプログラムを記述して実行できる。(第5回)
アクティブセルを変更するプログラムを記述して実行できる。(第6回)
セルに値を代入するプログラムを記述して実行できる。(第7回)
セルの値を取得するプログラムを記述して実行できる。(第8回)
セルを移動するプログラムを記述して実行できる。(第9回)
指定範囲を選択するプログラムを記述して実行できる。(第10回)
処理の選択を行うプログラムを記述して実行できる。(第11回)
処理の反復を行うプログラムを記述して実行できる。(第12回)
セルの色、罫線、フォント、値を扱うプログラムを記述して実行できる。(第13回)
第1節 プロシージャ記述練習の方法と目標
第3回以降で行うVBAの練習は、第1回と第2回で作成した「vba1.xlsm」の標準モジュール「practice_1」に記述を行います。但し、ここでの記述では具体的な文法等には触れず、入力に慣れることを目標に学習を進めます。
第2節 セルに値を取得するプログラム
VBEを起動して「practice_1」モジュールに「sample6」プロシージャを作成して次のように入力します。

入力について一行目ですが、まず「大文字のD」「小文字のim」と入力し半角スペースをあけます。
続けて「大文字のO」「小文字のbtained」「大文字のV」「小文字のalue」と入力し、半角スペースをあけます。
更に続けて「大文字のA」「小文字のs」と入力し、半角スペースをあけて、「大文字のS」「小文字のtring」と入力します。
詳しくは変数の記事で解説しますが、ここでは「ObtainedValue」という名前で文字列型の値を呼び出せる仕組みを準備したとだけ理解してください。
続いて、二行目ですが、「ObtainedValue」に続けて半角スペースをあけ、「=」を入力し、更に半角スペースをあけます。
続けて、これまで、何度か記述してきたワークシート「Sheet1」のセル「D4」を指定する「Worksheets("Sheet1").Rnage("D4")」を記述します。
続けて。「.」ドットと入力し「大文字のV」「小文字のalue」を入力します。この記述によって、ワークシート「Sheet1」のセル「D4」に入力されている「値」を指定することができます。
この行の記述でワークシート「Sheet1」のセル「D4」の「(今回は文字列の)値」を「ObtainedValue」という名前で何度も呼び出せる(再利用できる)ことになります。
最後の行は「大文字のD」、「小文字のebug」、「.」ドット、「大文字のP」「小文字のrint」と入力し半角スペースをあけます。
最後に「ObtainedValue」を入力します。この行の「Debug.Print」は、プログラム内でどのような値が存在しているかを確認できるVBEのイミディエイトウィンドウという小窓を利用できるようにするためのものです。
今回は「ObtainedValue」を指定しているので、ワークシート「Sheet1」のセル「D4」から「取り出してきた値」を出力します。
プロシージャの記述が完了したら、デバッグタグの「VBAProjectのコンパイル」を実行します。

この操作を行うときはカーソルが実行したいプロシージャに入っていることが必要です。

記述内容に文法的なミスがなければコンパイルは完了です。続けて記述したプロシージャの実行を行います。カーソルが実行したいプロシージャに入っていることを確認してください。

実行の操作は下キャプチャの実行ボタンで行います。

実行結果は次の通り、ワークシート「Sheet1」のセル「D4」に入力されている値、「English」をイミディエイトウィンドウに出力しています。(English)は第7回の記事で入力をしている値です。

イミディエイトウィンドウ部分の拡大キャプチャ

このプログラムでは、二行目でワークシート「Sheet1」のセル「D4」に入力されている値、「English」をプロシージャ内に取り込み、その後、ObtainedValueという名前で利用できるように設定しています。
その後、Debug.Printを利用してObtainedValueに結びついている「English」をイミディエイトウィンドウに出力させています。
イミディエイトウィンドウが表示されていない場合は「表示タブ」から「イミディエイトウィンドウ」をクリックして表示します。

本記事(基礎学習 第8回)の内容は以上です。
ご案内:この記事の執筆者の別サイト
https://howahowablog.com/vba_books_recommendation5/