【VBA】VBAで制御文使ってみた(Select文)
制御文(Select文)
こんにちは!
今回は、前回に続いて『Select』を紹介します😊
Excel関数よく使うよって人は、「IFSみたいな感じ。」です👍
これで半分くらい理解できるかも、、
「IFS分からん。」って人は、、、
前回の『はえ縄漁』のトコ見てください↓
VBAで制御文使ってみた(If文)VBAで制御文使ってみた(If文)
はえ縄漁、、、我ながらいい例えだ♪
こんな感じで分岐が沢山あって、一致した場合に処理される。っといった時に使います。
Ifで書いてみて、『単純に分岐多いな。』と感じたら、Select使う時かもしれません。
んじゃ、次で少し詳しく。
Select文の解説
IfとSelectで違うのが論理演算子。Ifと違って縛りがあります。
Ifのように『And』は使えないし、『Or』も使い方が違います。
他にも違いはありますが、どんどん先に行ってしまいましょう。
大体の人は、小中学生くらいでプログラミングの『プ』くらいまでかじってます。そんだけやってれば、マクロは組めると思います。
『プログラミング』って、技術だからね。やってなんぼ。
そして、壁にぶち当たった時が、『技』を身に付ける時😆
日々挑戦ね。行きましょう👍
Selectも、If同様に上から条件を見っていって、一致したら処理が実行されます。
図のように、『Or』の代わりに『,』や『to』を使うところが、Ifとの違いかな。
そして、分岐全て不一致だった場合、Elseの処理が実行されます。
勿論、Elseがなければ、Selectを抜けます。
この辺りはIfと同じですね。
Selectを記述
実際にSelectを記述して、ステップイン(F8)で動作の確認をしてみましょう✊
変数『i』の数値を変更すると、実行される分岐が変わります。1~10で確認してみてください。
以下、コード。面倒だけど手打ちしましょう。
Sub selectbun() Dim i As Long i = 0 Select Case i Case Is < 1 Debug.Print "1より小さい" Case 1 To 5 Debug.Print "1~5" Case 6, 7, 8 Debug.Print "6か7か8" Case 9 Debug.Print "9" Case Else Debug.Print "上記以外" End Select End Sub
如何でしょうか?
他にも、Likeでワイルドカードも使えるけれど、、、
Sub selectbun2() Dim a As String a = "本マグロ" Select Case True Case a Like "*マグロ" Debug.Print "マグロが釣れました" Case Else Debug.Print "なにも釣れませんでした" End Select End Sub
いつ使うんだよ。って感じですよね?
何万行書いても、使える場面あったっけ?なります😅
強引に使えば使えるでしょうけど。
はい、今日はSelectでした。
Ifと似てるので、ザックリ紹介しました😅
結局⇒
Ifより縛りはあるものの、見やすいしデバッグも簡単なので、使える場面があったら使ってください✨
ってことっす👍
次回は事務処理でよくある、あるあるマクロを作ります♬
またねぇ✋
ディスカッション
コメント一覧
まだ、コメントがありません