Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


8749 / 76732 ←次へ | 前へ→

【73551】Re:表整理
発言  kanabun  - 13/1/20(日) 19:56 -

引用なし
パスワード
   ▼コーヒー牛乳 さん:

>select caseで、
>何も処理させたくないときは、何も処理を書かないでいい、
>というのは今日初めて知りました。
>今後使えるテクニックだと思うので、

そのとおりです。

さらに言えば(私的には)

    Select Case True
      Case セル.Value <> "りんご" And セル.Value <> "みかん"
        '処理
    End Select

よりも、

    Select Case セル.Value
      Case "りんご", "みかん"
        '何もしない
      Case Else
        '処理
    End Select

のほうが数段スマートな書き方といえます。

たとえばセルの値が「りんご」のとき、
前者は、And のまえの セル.Value <> "りんご" 文節が成立しない(False)から
その時点で Case文全体の評価は「False」と分かるはずで、
Andのうしろの セル.Value <> "みかん" 部分を評価する必要はないはずです。
にもかかわらずVBAでは、And を使うと、And の前が False のときでも Andの
後ろも真偽判断する、どんくさい仕様になってます。

後者ならば、
セルの値が "りんご" だったら、"みかん"であるかの評価はしませんので。
280 hits

【73544】表整理 コーヒー牛乳 13/1/20(日) 14:24 質問
【73545】Re:表整理 kanabun 13/1/20(日) 15:01 発言
【73546】Re:表整理 コーヒー牛乳 13/1/20(日) 16:17 お礼
【73547】Re:表整理 UO3 13/1/20(日) 16:35 発言
【73548】Re:表整理 コーヒー牛乳 13/1/20(日) 17:04 お礼
【73549】Re:表整理 UO3 13/1/20(日) 17:49 発言
【73550】Re:表整理 コーヒー牛乳 13/1/20(日) 17:59 お礼
【73551】Re:表整理 kanabun 13/1/20(日) 19:56 発言
【73552】Re:表整理 コーヒー牛乳 13/1/20(日) 20:34 お礼

8749 / 76732 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free