この記事では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アカウントを作成して頂くと、登録が ラク です♪
最後までご精読、誠にありがとうございました!!
自己紹介
VBA自作サンプルプログラム集へ戻る
取りあえず事務職で働きたいから手っ取り早くExcel教えてくれ
MOSなどの資格試験対策