|
▼りった さん:
> Dim s As String
> s = getXXX
> if s = AAA or s = BBB or s = CCC then
> は、1行でかけない点が不満です。パッと見も解かりづらい。
その AAA とか BBB とか、CCC は 変数ですか?
変数なら、宣言しなくちゃ。
> Dim s As String
Dim AAA as string
Dim BBB as string
Dim CCC as string
Select Case s
Case AAA, BBB, CCC
Msgbox "あり"
Case Else
Msgbox "なし"
End Select
> getXXXを3回も書くので処理速度及びメンテナンス性の面でいまいちです。
>
1行で書くと処理速度が速くなるわけじゃないですよ。
> if getXXX = AAA or getXXX = BBB or getXXX = CCC then
と書くより、
if getXXX = AAA then
Msgbox "あり"
elseif getXXX = BBB then
Msgbox "あり"
elseif getXXX = AAA then
Msgbox "あり"
else
Msgbox "なし"
end if
のほうが、少なくとも判断する回数は少なくて済みます。
理由は
> if getXXX = AAA or getXXX = BBB or getXXX = CCC then
のほうは、getXXX = AAA が True(真)のときでも、
2番目、3番目の判断↓
if getXXX = BBB ?
if getXXX = CCC ?
も必ず実行するからです。
|
|