09 VBAのSelect case文で打ち上げ花火を上げよう

この記事ではVBAのSelect case文を、打ち上げ花火に例えて解説しております。

IF文は、2つか3つぐらいの分岐にでは良く使いますが、流石に7つの分岐となると、IF、IF、IF・・・・とIFを7回も書くのは面倒ですね。

そんな時に便利なのが、Select case文です。

それでは、これからあなたが打ち上げ花火を上げるとして、赤、 青、黄、緑、ピンク・・・・と色を指定して花火を打ち上げるイメージで、Select case 文を学習して行きます。

まず、Excel側でシートを新しく作って、そのシートに「花火」と名付けます。
シートはExcel内の部品であり、それを「オブジェクト」と言います。

花火の色は、文字型の「色」という変数を使って、「赤、青、黄、ピンク、緑、紫、オレンジ」の7色の 花火を打ち上げるという、分岐処理を書いていきます。
実際には、ワークシートの色を7色から選択して、全て塗りつぶします。

それ以外の色が入力されたら、7色のうちのいずれかを入力する様に、メッセージボックスで出力します。

早速、コードを掲載します。
Interior.Color=vb色、または、Interior.Color=RGB指定で、塗りつぶす色を指定します。

Sub 打ち上げ花火()

'文字列型の変数「色」を宣言
Dim 色 As String
 
'インプットボックスで色を入力
 色 = InputBox("赤、青、黄、ピンク、緑、紫、オレンジ", "打ち上げ花火の色を入力して下さい。")


 'Select 文の開始
 Select Case 色
  
  ' 「赤」を入力した場合  
    Case "赤":
    Worksheets("花火").Cells.Interior.color = vbRed

  ' 「青」を入力した場合
    Case "青":
    Worksheets("花火").Cells.Interior.color = vbBlue

   ' 「黄」を入力した場合
    Case "黄":
    Worksheets("花火").Cells.Interior.color = vbYellow


   ' 「ピンク」を入力した場合
     Case "ピンク":
   Worksheets("花火").Cells.Interior.color = vbMagenta


   ' 「緑」を入力した場合
    Case "緑":
    Worksheets("花火").Cells.Interior.color = vbGreen


   ' 「紫」を入力した場合
    Case "紫":
   Worksheets("花火").Cells.Interior.color = RGB(200, 0, 255)


 ' 「オレンジ」を入力した場合
   Case "オレンジ":
   Worksheets("花火").Cells.Interior.color = RGB(255, 200, 0)


  ' else の場合
 Case Else:

  'メッセージボックス
  MsgBox "「赤、青、黄、ピンク、緑、紫、オレンジ」のいずれかの色を入れて下さい"
 

'Select文の終わり
 End Select

'シート「花火」のセルA1を選択
 Worksheets("花火").Range("A1").Select
 
End Sub

コードが書けたらボタンを作成します。
ボタンは、Excelシートの開発 → 挿入 → フォームコントロールのボタンマークで、マクロ「打ち上げ花火」を登録します。

では、今作ったボタンを押して実行します。

インプットボックスに「黄」と入力します。
(入力するとき、スペースが入らないように気をつけて下さい。もしも入ってしまったら、elseのところに分岐してしまいますので、特に字の前に気をつけて、スペースがあったら削除してから「OK」を押して下さい。)

実行結果です。

こんな感じでシートが真っ黄色になりました。
イメージ的には黄色の花火を打ち上げている感じです。

他の色も試してみます。

「紫」

「赤」

きちんと分岐出来ました。
それでは、elseの時の分岐を行います。

例えば「小豆色(あずき色)」と入力します。

実行結果です。

もしも、上記以外の色を入れると、 このようなメッセージボックスが出て、elseの時の分岐が行えました。


ここで、ブレイクタイムとしてミュージックビデオを掲載します。

DAOKOさん×米津玄師さんの「打上花火」

歌詞の中に「打ち上げ花火」が出てくる「夏祭り」のオリジナルはジッタリン・ジンさん

カバーはWhiteberryさん

懐かしいな。

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

撮りたてホヤホヤの、いたばし花火大会2023の写真です。

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

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

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

写真素材素材【写真AC】

 

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

自己紹介


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

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


MOSなどの資格試験対策

投稿者: nekosiestr

プログラミング学習中のロスジェネ(就職氷河期世代)の発達障害者です。 宜しくお願いします。 趣味で写真を撮っています。 プログラミングは、GAS/HTML/CSS/JavaScript/jQuery/PHP、 発達障害は、自閉症スペクトラムASD/ADHD、その他双極性障害やHSP(5人に1人の繊細さん)などの生きづらさを抱えておりますが、それでも楽しく生きて行きたいです!! 写真は、以前はコンパクトデジカメ、現在は、OLYMPUSミラーレス一眼を使っています。