条件

関数の引数で条件を指示して引数の値を返します。
制御構造の貧しいVBAですが、これでカバーできる部分もあるでしょう。

IIf(exp,result1,result2)
C言語等の三項演算子exp?result1:result2形式や、Excel関数のIfと同じです。
expが真ならresult1を、偽ならresult2を返します。

Choose(index,result1,result2,..)
index以降の値の、index個目の値を返します。
1未満や項目数以上だとエラーになるので注意。
[例]
a=10
n=2
MsgBox Choose(n,a*2,a*3,a*7)
これを実行するとa*3、つまり30が表示されます。

Switch(exp1,value1, exp2,value2, ...)
expnが真の時、valuenを返す。
全て偽であればNullを返す
[例]前例と同じ事を書いてみます。
a=10
n=2
MsgBox Switch(n=1,a, n=2,a*2, n=3,a*3, n=4,a*7)
この場合は冗長になりますが
MsgBox Switch(n=1,a, n=2,a*2, n=3,a*3, n>=4,a*7)
このように4以上などのような記述もできます。
exp1から評価していき、真があればそれ以降は無視されます。
comments (2)

コメント

victordescoteaux.weebly.com | 2017/07/31 04:21 PM
Thanks for your marvelous posting! I certainly enjoyed reading it, you happen to
be a great author. I will be sure to bookmark your blog and may come
back someday. I want to encourage that you continue your great posts, have a
nice weekend!
Can you get an operation to make you taller? | 2017/07/29 05:51 AM
I blog often and I genuinely thank you for your content.
The article has truly peaked my interest. I will book mark your website and keep checking for new
information about once per week. I subscribed to
your Feed too.

Comment Form