前回の記事では「変数」とは何かという事と、変数の作り方を説明しました。
前回の記事はこちら↓
前回、プログラミング言語の変数は下のようなものだという事を学習しましたね
・変数は数字や文字のような「値」を入れる箱のようなも
・変数を作るとき入れられるのが「数字」なのか「文字」・・・なのかを1つ選んで作る
これらを踏まえて、今回は変数を有効に使ったプログラムを作ってみようと思います。
追記: PropsRoomというスキル情報メディアを運営しています。
こちらでもVBA入門ガイドを扱っています。
https://props-room.com/articles/handbook/vba-guide-1
目次
変数を活用したプログラムを作る
あるセルに文字を入力し、ボタンをクリックしたとき表示させるメッセージボックスの文章をセルに入力した文章を出力するようにしてみます。
このようなイメージです↓
VBEにコードを記述しよう
VBEを開いてこれまで使ってきたモジュールを開きます。
VBEの開き方とモジュールの作り方はこちらで紹介しています↓
モジュールを開いたら、下のコードをコピーして貼り付けましょう。
(前回のコードは消してまっさらにしてください。)
1 2 3 4 5 6 7 8 9 |
Sub MessageTest() Dim Hensu As String '←これが変数 「String」は文字列の型 Hensu = Range("A2").Value '←「A2」セルの値を変数に代入 MsgBox Hensu '←メッセージボックスで変数の値を表示 End Sub |
すると、モジュールの内容が下の画像のようになりましたでしょうか。
これでVBEの作業は完了です。
このコードについては後で解説しますね。
次にExcelシートの作業を開きます。
Excelを下の画像のように編集してください。
「ボタン1」は前から作ってるものをそのまま流用しています。
セルの編集はただ見やすくしただけなのでぶっちゃけやんなくてもいいんですけどね笑
プログラムを動かしてみよう
A2セルに何か文字を入力して「ボタン1」を押してみましょう。
メッセージボックスに入力した文字が表示されましたでしょうか。
コードの意味について
今回作成したプログラムのコードを解説します。
セルから値を取得して使う手法はVBAではよく使うのでこの機会に覚えておきましょう。
「Dim Hensu As String」は前回の記事でも解説した、「変数の宣言」です。
今回作成した変数「Hensu」は文字や文章を扱う事が出来るString型です。
「Hensu = Range(“A2”).Value」では、変数「Hensu」の中にA2セルの中身を代入しています。
セルの中身を取得する方法は「Range(“セルの行列”).Value」です。
VBAではよく使う事があるので覚えておくと便利です。
最後の一文は前と変わりなく、変数の中身をメッセージボックスで出力させるという処理になります。
変数で取得した値を利用してメッセージ表示システムを作る。
さっき作ったプログラムを少し改造すれば下のような処理も作る事が出来ます。
やっと少しプログラムチックになってきましたね!笑
コードを書き替える
先ほど作ったコードに少し手を加えます。
下のコードをコピーして「Hensu = Range(“A2”).Value」の下に貼り付けます。
1 |
Hensu = "こんにちは!" + Hensu + "さん" |
以下のようにモジュールに変更が加わったでしょうか。
コードの意味
追加した文の「”○○”」は文字列の値を意味します。
文字列の値は「”」で囲むことで、「これは文字列ですよ」とコンピュータに教える必要があります。
例えば数字の場合、「”」で囲まずにそのまま記入すると、「数値」としてコンピュータに認識され、「”」で囲むと「文字」として認識されるようになります。
そして、文字同士を「+」で足し合わせると、文章が結合します。
「”こんにちは!” + Hensu + “さん”」とすることで、「こんにちは!名前さん」とつながった文章にすることが出来ます。
「+」は数値の場合は足し算の計算をしますが、文字では文字同士の結合になります。
ちなみに、文字同士の引き算、掛け算、割り算は出来ませんので注意!
これらを踏まえて少し試してみましょう。
下の画像は数値を足した場合と文字を足した場合をそれぞれ実行した画像です。
■数値の場合
「5+1」という計算がされて「6」という数値になっています。
■文字の場合
「5」という文字と「1」という文字が結合されて「51」という新しい文字列になっています。
まとめ
変数は数字の値や計算結果だけを保持するものではなく、このように文字やそのほかの型でもいろいろな使い方出来ます。
変数は値をしまっておける便利な箱という事を説明しました。
いろんな値をしまっておけるため、乱雑に使ってしまうとコードを書いている途中で「今の時点でいったい何の値が入っているんだろう?」とならないように変数は使い分けをするようにしましょう。
次回は処理の分岐について見ていきましょう。
■次のページ