03「ザ・スーパーマリオブラザーズ・ムービー」で覚えるVBAの変数とコメントの基本的な使い方

この記事では、VBAの変数の基本的な使い方コメントの書き方を、2023年にヒットした映画、「ザ・スーパーマリオブラザーズ・ムービー」を通して学習します。

変数は、箱をイメージして下さい。
Amazonの段ボール箱でも何でも良いです。
注文した品物によって、段ボールの大きさが変わりますよね。

数値でしたら、Integerという大きさの箱を使います。
これは服のサイズで言ったら、Sサイズ、Mサイズ、Lサイズ、みたいなものでしょうか。

その変数の箱に、「変数に付けたい名前」を書いた紙を貼るイメージで、
変数に名前を付けます。

下記のプログラムでは、マリオドンキーコングに攻撃する「回数」に数値型の変数を割り当てます。

その変数である、ドンキーコングに攻撃する「回数」を、プログラム実行中にユーザーが好きな値を入力出来るように、InputBoxという入力するボックスを使って、回数を入力します。

変数を定義するとき、Dimと記述します。
コードを分かりやすくするため、コメントを入れました。
コメントは、「’」(シングルクォーテーション)で記述します。
数値と文字列を連結するのに「&」(アンパサンド)を使います。

 Sub 変数1()
    
    Dim 回数 As Integer '数値型の変数「回数」を宣言
    回数 = InputBox("ドンキーコングを攻撃する回数を入力して下さい。")
    MsgBox " マリオはドンキーコングを" & 回数 & " 回攻撃した!!"
 
 End Sub

回数を5とします。
InputBoxに入力します。

Enterを押すと、このようにメッセージボックスで、入力した回数が表示されました。

お疲れ様でした。
ここで一旦、写真で休憩を挟みます。

みなとみらいの夜景、横浜ランドマークタワーから撮影しました。


次に、文字を入れる変数の箱を用意します。
箱の大きさは、Stringというサイズの箱を用意します。
箱には「敵の名前」と書いた紙を貼っておくイメージです。
InputBoxで、「敵の名前」に入れる名前を「クッパ」と入力します。

数値型の回数には「678」を入れます。
今度は結果をイミディエイトウィンドウに出力します。

Sub 変数2()
    
    '文字列型の変数「敵の名前」と数値型の「回数」を宣言
    Dim 敵の名前 As String, 回数 As Integer
    
    敵の名前 = InputBox("敵の名前を入力して下さい。")
    回数 = InputBox("攻撃する回数を入力して下さい。")
    Debug.Print "マリオは" & 敵の名前 & "を" & 回数 & " 回攻撃した!!"
 
 End Sub

「クッパ」と入力してEnterを押します。

「678」と入力してEnterを押します。全角でも大丈夫です。

イミディエイトウィンドウの出力結果です。

お疲れ様でした。
ここで一旦、写真で休憩を挟みます。

お台場レインボーブリッジです。


次に、変数の演算をしてみましょう。
マリオはクッパにパンチとキックをして攻撃をします。
変数「パンチ」の回数と、変数「キック」の回数を合計して、
その合計値を変数「ダメージ」に格納します。

式で書くと、

ダメージ=パンチ+キック

になります。

Sub 変数3()
    
    '文字列型の変数「敵の名前」と数値型の「ダメージ」を宣言
    Dim 敵の名前 As String, ダメージ As Integer
    
    '数値型の変数パンチとキックを宣言
    Dim パンチ As Integer, キック As Integer
    
    '敵の名前やパンチ、キックの回数を入力
    敵の名前 = InputBox("敵の名前を入力して下さい。")
    パンチ = InputBox("マリオのパンチの回数を入力して下さい")
    キック = InputBox("マリオのキックの回数を入力して下さい")
    
     'ダメージを「足し算」して求める
     ダメージ = パンチ + キック
    
    'メッセージボックスに結果を出力
    MsgBox "マリオは" & 敵の名前 & "に" & ダメージ & "のダメージを与えた!!"
 
 End Sub

実行してみます。

名前に「クッパ」と入れます。

マリオのパンチの回数を「2」と入力します。

マリオのキックの回数を「4」と入力します。

出力結果です。

上記のプログラムではメッセージボックスに出力しましたが、今度はExcelシート上のセルに出力してみます。

下のコードに「←を変更」と書いた所と、プロシージャー名を「変数4」にした箇所以外は、そのままです。

Sub 変数4()
    
    '文字列型の変数「敵の名前」と数値型の「ダメージ」を宣言
    Dim 敵の名前 As String, ダメージ As Integer
    
    '数値型の変数パンチとキックを宣言
    Dim パンチ As Integer, キック As Integer
    
    '敵の名前やパンチ、キックの回数を入力
    敵の名前 = InputBox("敵の名前を入力して下さい。")
    パンチ = InputBox("マリオのパンチの回数を入力して下さい")
    キック = InputBox("マリオのキックの回数を入力して下さい")
    
     'ダメージを「足し算」して求める
     ダメージ = パンチ + キック
    
    ' Excelシート上のセルに出力  ←ここを変更
    Range("A1").Value = "マリオは" & 敵の名前 & "を"
    Range("A2").Value = パンチ & "回" & "パンチして、"
    Range("A3").Value = キック & "回" & "キックして、"
    Range("A4").Value = ダメージ & "のダメージを与えた!!"
    
 
 End Sub

実行結果は、このようにExcelのシートに出力されました。

お疲れ様でした。
ここで一旦、写真で休憩を挟みます。

江ノ電 鎌倉高校前の海



今度はRangeでは無く、Cells指定にします。
これまで、

ダメージ = パンチ + キック

と計算していた所を掛け算にして、

ダメージ = パンチ * キック

としてみます。
×は「*」(アスタリスク)を使います。

 Sub 変数5()
    
    '文字列型の変数「敵の名前」と数値型の「ダメージ」を宣言
    Dim 敵の名前 As String, ダメージ As Integer
    
    '数値型の変数パンチとキックを宣言
    Dim パンチ As Integer, キック As Integer
    
    '敵の名前やパンチ、キックの回数を入力
    敵の名前 = InputBox("敵の名前を入力して下さい。")
    パンチ = InputBox("マリオのパンチの回数を入力して下さい")
    キック = InputBox("マリオのキックの回数を入力して下さい")
    
     'ダメージを「掛け算」して求める ← ここを掛け算にします。
     ダメージ = パンチ * キック
    
    ' Excelシート上のセルに出力  ← Cellsで指定しています。
    Cells(8,2).Value = "マリオは" & 敵の名前 & "を"
    Cells(9,3).Value = パンチ & "回" & "パンチして、"
    Cells(10,4).Value = キック & "回" & "キックして、"
    Cells(11,5).Value = ダメージ & "のダメージを与えた!!"
    
 
 End Sub

同じように、
敵の名前=「クッパ」
キック=「2」
パンチ=「4」
と入力しました。

その出力結果です。
ダメージは2×4で8になっています。

掛け算を追えたところで、今度は「べき乗」を求めます。
掛け算では 2×4で8でしたが、べき乗にすると、2を4回かけるので、2×2×2×2=16になります。

(2の何乗に興味のある方は、ITパスポート基本情報記述者試験のページをご参照下さい。)

べき乗は、キーボード右上の「へ」の所にあります。
ダメージの計算結果は、メッセージボックスに出力します。

 Sub 変数6()
    
    '文字列型の変数「敵の名前」と数値型の「ダメージ」を宣言
    Dim 敵の名前 As String, ダメージ As Integer
    
    '数値型の変数パンチとキックを宣言
    Dim パンチ As Integer, キック As Integer
    
    '敵の名前やパンチ、キックの回数を入力
    敵の名前 = InputBox("敵の名前を入力して下さい。")
    パンチ = InputBox("マリオのパンチの回数を入力して下さい")
    キック = InputBox("マリオのキックの回数を入力して下さい")
    
    'ダメージを「べき乗」して求める ← ここをべき乗にします。
    ダメージ = パンチ ^ キック
    
    'Excelシート上のセルに出力  ← メッセージボックスに出力します
    MsgBox "マリオは" & 敵の名前 & "に" & ダメージ & "のダメージを与えた!!!"
     
 End Sub

パンチとキックは「半角数字で」入力して下さい。
私の環境では全角で入力したら、オーバーフローしてしまいました。

お疲れ様でした。
ここで一旦、写真で休憩を挟みます。

江ノ電、鎌倉高校前駅の海です。


いよいよ最後です。
「ザ・スーパーマリオブラザーズ・ムービー」の映画チケット代金を出力します。
一般1,500円です。

チケット代は、 Currency(カレンシー)という通過型の箱を用意します。
「チケット代」と紙に書いて、それを箱に貼るイメージです。
文字列型の「映画タイトル」の箱も用意します。
ここでは簡単に、「マリオの映画」と入力します。

Sub 変数7()

'通過型Currencyの変数チケット代と、文字列型映画タイトルを宣言
 Dim 映画タイトル As String, チケット代 As Currency 

 映画タイトル = InputBox("見たい映画のタイトル名を入力して下さい。")
 チケット代 = InputBox("チケット代を入力して下さい。") 

 MsgBox 映画タイトル & "の一般料金は、" & チケット代 & "円です。" 

 End Sub

上記のプログラムを、


映画タイトル:「マリオの映画」


チケット代:「1500」

と入力すると

この様に出力出来ました。

参考にした記事:
【超初心者向き】Subプロシージャの基本を5分で理解する
【VBA】Currency (通貨型変数)
ザ・スーパーマリオブラザーズ・ムービー特別映像解禁
「ザ・スーパーマリオブラザーズ・ムービー」のムビチケ前売り券が12月16日より販売開始


皆さま、大変お疲れ様でした。
この記事最後のブレイクタイムPhotoは・・・

逗子海岸です。

最後までご精読、誠にありがとうございました!!

仕事や勉強のリフレッシュに、趣味で写真を撮っておりますので、宜しかったら フォトストック写真ACさん の投稿もご覧頂けますと、大変嬉しい限りでございます!!

こちら、無料の「ダウンロードユーザー」に登録して頂けると、無料で写真のダウンロードが可能になります。

※ 先にGoogleアカウントを作成して頂くと、登録が ラク です♪

 

最後までご精読、誠にありがとうございました!!

自己紹介


VBA自作サンプルプログラム集へ戻る

取りあえず事務職で働きたいから手っ取り早くExcel教えてくれ


MOSなどの資格試験対策

モバイルバージョンを終了