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

Select Caseでの複雑な処理をシンプルにしたい – Excelマクロ・VBA

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

Excelマクロ・VBA達人養成塾 小川です。

エクセルマクロ達人養成塾塾長ブログ-今朝の淀川。朝は、魚が跳ねるのをよく見かけます。
今朝の淀川。朝は、魚が跳ねるのをよく見かけます。
エクセルマクロ達人養成塾塾長ブログ-グループワーク中。抽象概念は体を使って。
グループワーク中。抽象概念は体を使って。
エクセルマクロ達人養成塾塾長ブログ-宿から撮った淀川の写真。二本の虹が出ていました。
宿から撮った淀川の写真。二本の虹が出ていました。

昨日のお話の続きです。

昨日のブログ: 「VBのSelect CaseとPHPのSwitchでの書き方の違い」

Visual Basic で書かれた以下のプログラムがある。

Sub SelectCaseTest()
    Dim st As String
    Select Case Range("B2").Value
        Case Is = "Hard X", "ハードXR" '[1]
            st = "ハードコンタクトレンズ用の処理をします"
        Case Is = "SOFT VIEW", "ソフトO2", "ボシュロムソフト", "メニソフト" '[2]
            st = "ソフトコンタクトレンズ用の処理をします"
        Case Is = "アイキュア", "ピュアクリーン" '[3]
            st = "ケア用品用の処理をします"
        Case Else
            st = "該当なし"
    End Select
    Range("C2").Value = st
End Sub

これを元に、以下の表を作れ。
(ただし、各項目とアクションの対応リストは、この順序でならんでいなくてもよい。
また、商品名の文字列には、「”」や「,」は含まないものとする。)


|A列 |B列 |C列 |
-----------------------------------------------------------------------
1 行目 |id |item |action |
-----------------------------------------------------------------------
2 行目 |1 |Hard X |ハードコンタクトレンズ用の処理をします|
-----------------------------------------------------------------------
3 行目 |2 |ハードXR |ハードコンタクトレンズ用の処理をします|
-----------------------------------------------------------------------
4 行目 |3 |SOFT VIEW |ソフトコンタクトレンズ用の処理をします|
-----------------------------------------------------------------------
5 行目 |4 |ソフトO2 |ソフトコンタクトレンズ用の処理をします|
-----------------------------------------------------------------------
6 行目 |5 |ボシュロムソフト|ソフトコンタクトレンズ用の処理をします|
-----------------------------------------------------------------------
7 行目 |6 |メニソフト |ソフトコンタクトレンズ用の処理をします|
-----------------------------------------------------------------------
8 行目 |7 |アイキュア |ケア用品用の処理をします |
-----------------------------------------------------------------------
9 行目 |8 |ピュアクリーン |ケア用品用の処理をします |
-----------------------------------------------------------------------

次に、上にある表を元にして、「Sub SelectCaseTest」と同じことを実現するマクロを作れ。
(ただし、条件分岐には、If文を使い、Select Case文は使わない)

僕も、いまやってみました。
ちょっと時間かかりました。所要時間、8分でした。

8月31日までにトライしてご報告いただいた方には、僕かトライした様子をそのままキャプチャーした動画をさしあげます。

キーワード

コメント

コメントを残す

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

最新の記事

人気記事

最新記事

カテゴリ

最新コメント

タグクラウド