3日がかりのその仕事、3分で終わらせる方法教えます!
パソコンスキルの心技体

エクセルVBAのSelect Case文は条件分岐を簡潔かつ可読性高く書くにはとても便利。

2014年4月11日
  • このエントリーをはてなブックマークに追加
  • follow us in feedly

エクセルVBA達人養成塾 小川です。

さいきんの添削事例から。

Select Case文は条件分岐を簡潔かつ可読性高く書くにはとても便利。
エクセルVBA発展編1講座を修了したくらいの方には、ぜひとも、以下の書き方も習得してもらいたいです。

以下は、ある変数の値によって、並べ替え用に作った複数のサブプロシージャのうちどれを実行するかを選択するプログラム。

サンプル1:

    Select Case cntSort
        Case 1
            SortA
        Case 2
            SortB
        Case 3
            SortB
        Case 4
            SortC
        Case 5
            SortC
    End Select

僕なら、こう↓書き換えます。

サンプル2:

    Select Case cntSort
        Case 1
            SortA
        Case 2, 3
            SortB
        Case 4, 5
            SortC
    End Select

以下の書き方↓もあり。

サンプル3:

    Select Case cntSort
        Case 1
            SortA
        Case 2 To 3
            SortB
        Case 4 To 5
            SortC
    End Select

サンプル2は羅列しています。
サンプル3は、範囲指定しています。
どっちが良いかはケースバイケースですが、日本語で説明するときにどうするかを考えるとよいかも。

「2, 3列が対象です」と説明したくなる状況なら、それをマクロ化するとサンプル2です。
「2列目から3列目までが対象です」と説明したくなる状況なら、それをマクロ化するとサンプル3です。

最後に、「変数の値が 2, 3, 6だったら」とかいう条件指定の場合も紹介します。
その場合、サンプル2とサンプル3のそれぞれ、以下のように変わります。

サンプル2-2:

    Select Case cntSort
        Case 1
            SortA
        Case 2, 3, 6
            SortB
        Case 4, 5
            SortC
    End Select

サンプル3-2:

    Select Case cntSort
        Case 1
            SortA
        Case 2 To 3, 6
            SortB
        Case 4 To 5
            SortC
    End Select

キーワード

コメント

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

最新の記事

人気記事

最新記事

カテゴリ

最新コメント

タグクラウド