Excelマクロ・VBA達人養成塾 小川です。
一昨日、昨日のお話の続きです。
一昨日のブログ: 「VBのSelect CaseとPHPのSwitchでの書き方の違い」
昨日のブログ: 「Select Caseでの複雑な処理をシンプルにしたい – Excelマクロ・VBA」
ということで、タイムトライアル第4弾。
PHP で書かれた以下のプログラムがある。
switch($v) {
case 'Hard X':
case 'ハードXR':
$st="ハードコンタクトレンズ用の処理をします";
break;
case 'SOFT VIEW':
case 'ソフトO2':
case 'ボシュロムソフト':
case 'メニソフト':
$st="ソフトコンタクトレンズ用の処理をします";
break;
case 'アイキュア':
case 'ピュアクリーン':
$st="ケア用品用の処理をします";
break;
default:
$st = "該当なし";
break;
}
echo $st;
これを元に以下の表を作るExcel VBAのプログラムを作れ。
ただし、各項目とアクションの対応リストは、この順序でならんでいなくてもよい。
また、商品名の文字列には、「”」や「,」は含まないものとする。
|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 |ピュアクリーン |ケア用品用の処理をします |
-----------------------------------------------------------------------
僕も、いまやってみました。
所要時間、3分でした。
昨日の課題と似ていますし、昨日の反省を活かしたというのもありますが (^^
..というか、文字列解析のパターンって、実はかなり限られています。
このくらいやって慣れていただけると、だいぶ力がつくと思います。
8月31日までにトライしてご報告いただいた方には、僕かトライした様子をそのままキャプチャーした動画をさしあげます。
あ、あと、ご報告にあたっては、「やってみたけど、途中で挫折した」とか、そういうのでもOKですよ。