【VBA】VBAで変数使ってみた?

変数

変数って何?わけわかんねぇだろ?

どうもー。今回も泣く子も黙る宇宙海賊だよ⭐

前回、少し触れた『変数』について記事を書いてみるよ。

前回の記事↓

マクロ組めない人って・・・どんな人?

変数って、結構重要なので早い段階で紹介します。

細かいことは、マクロが組めるようになってきたらでいいっす。

多分、細かく書くとハマると思うわ。少しずつやったらいいんすよ😉

だから今回は~

・変数とは

・変数のいいとこ

・使い方

この3点でいきますわ。

 

変数とは?

変数って何?はやくーって?わかりやした。

ざっくり言うと何か入れる箱です!

ざっくりすぎ?

図で説明すると、、、

・変数に代入する前が、こんな感じ↓

 

・変数に代入すると、こんな感じ↓

・そうすると、どうなるかーっていうのが、こんな感じ↓

 

イメージ的には、こんな感じでいいと思います。

 

変数のいいとこ

続きまして、変数のいいとこ!

さっきの図を使って説明します。

変数『myStr』に『崖っぷち派遣社員』を代入しましたね?

一旦代入した変数は、代入し直さない限りそのままっす。

実際にコードを記述していくうえで、

何回も『崖っぷち派遣社員』と記述しないといけないときに、

(この文言を使うことはないでしょうけど)

『mystr』と記述してやれば『崖っぷち派遣社員』の代わりになります。

ということは、

同じ変数を何か所も使ってる場合、修正が楽になります。

例えば、『派遣社員』から『正社員』に転職したとしよう、、、

★変数を使わないで『崖っぷち派遣社員』を100か所使っている場合⇒

えーっ!100か所も直さないといけないよう。だるぅ😅

え?置換すればって?VBEで検索&置換の日本語は文字化けするっす。

んな感じでー、図には変数名は何でもいいよ。って書いたけど英数字がいいっす。

はい、次に。

☆『崖っぷち派遣社員』を変数『myStr』に代入した後に『myStr』を100か所使っている場合⇒

『myStr』に『崖っぷち正社員』代入するって修正だけっす。

その1か所だけっす。らくぅ😌

もう1つ。計算にも使えます。

変数『myVal』は『365』が代入されています。

例えば、『崖っぷち派遣社員365日更新』これを7日サボったとしよう、、、

★変数を使わないで『崖っぷち派遣社員365日更新』と記述していた場合⇒

365引く7は、えーっと、んーっと、357!

えー、『崖っぷち派遣社員357日更新』っと。

え?間違ってる?間違えたー!358日だったー!って間違えたりする。

☆変数を使って『myStr & myVal & ”日更新”』としていた場合⇒

変数『myVal』に『365』を代入しているので、

変数代入したあとに、1行コードを入れてやる。

myVal=myVal – 7

上記の計算で『myVal』は『358』になっているので、

『崖っぷち派遣社員日358更新』という計算結果になります。

こんな感じで、計算もできちゃう。間違わない。ステキ💓

 

使い方

最後に、使い方を画像等で説明します。

・まず変数の宣言を強制します。

VBEを開いてモジュールを挿入し、変数の宣言を強制します。

VBEって何?モジュールって?って人はこちら

これで変数使う準備OK👌

ちなみに、『Option Explicit』は、モジュール内で変数を宣言しないと使えないよ~。ってこと。

宣言しないで使用するとコンパイルエラーが出るようになるよ。

なんで宣言しないといけないの?って言うと、

打ち間違えでバグだらけになる可能性があるから。

詳しくは触れないです。もう、何か組むとき宣言は強制にしておいてください。

・実際に使ってみます

適当な名前のプロシージャに、以下のコードを記述してやります。

手打ちしましょう!

Sub a()
Dim myStr As String
    myStr = "崖っぷち派遣社員"
Dim myVal As Integer
    myVal = 365
    Debug.Print myStr & myVal & "日更新"
End Sub

そして実行。

 

 

イミディエイトウィンドウに、変数に代入したものが表示されましたね?

・復習兼ねてもう一個

手打ちしましょう!

Sub a()
Dim myStr As String
    myStr = "崖っぷち正社員"
Dim myVal As Integer
    myVal = 365
    myVal = myVal - 7
    Debug.Print myStr & myVal & "日更新"
End Sub

はい、【変数のいいとこ】で紹介した感じになりましたね😉

ちなみに、変数の型ですが、

わからなかったら記述しなくていいっす👍

Dim ○○ As △△

Dim ○○      

もしくはVariant型にしてやって下さい。(空白はVariant型っす)

Dim ○○ As Variant

勿論、わかれば記述してください。その方が丁寧です。

一応、マクロ組む時、よく使うのが、、、

String ⇒ 文字列

Long ⇒ 長い整数型(-2,147,483,648~2,147,483,647の整数)

Date ⇒ 日付

Boolean ⇒ TrueかFalse

このくらいで大丈夫だと思います。

わからなかったら、その都度調べる!

全部覚えようとするとハマるので、それで大丈夫っす。

 

 

はい、そんな感じで今回は変数についてでした。

こんな感じで、ざっくり基本的なことを紹介したら、

実際に『1からマクロを組む』ってのをやっていこうと思います。

君のハートに、レボリューション!

それではまたねぇ✋