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

文字列を解析して、該当するセルに値を記入したい – Excelマクロ・VBA

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

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

エクセルマクロ達人養成塾塾長ブログ-処理系を擬人化した。「エクセルの中の小人ちゃん」
処理系を擬人化した。「エクセルの中の小人ちゃん」がスライド上で活躍。

ここ数日のお話の続きです。

3日前のブログ: 「VBのSelect CaseとPHPのSwitchでの書き方の違い」
一昨日のブログ: 「Select Caseでの複雑な処理をシンプルにしたい – Excelマクロ・VBA」
昨日のブログ: 「Select Caseでの複雑な処理をシンプルにしたい(その2) – Excelマクロ・VBA」

ということで、タイムトライアル第5弾。

サーバ内にあるプログラムが、10分ごとに以下の処理を行う。

[1] そのときの時刻の、時間を調べる
[2] そのときの時刻が0分台、10分台、…、50分台のいずれかを調べる
[3] [1], [2] の値を元に、 “9_5” といった文字列を作る(アンダースコア区切り)
[4] PHPのSwith文で、テンプレートを指定する
[5] 指定されたテンプレートの文章を、指定されたメールアドレスに送信する

…って。

僕が作った、いい言葉とか、日々心がけるべきことをリマインド用に自動配信してくれるプログラムのロジックそのものなのですが (^^;

その、Switch文の箇所だけを以下に掲載する。

	switch($v . '_'.$s) {
case '12_3':
case '18_3':
case '21_3':
$filepath='5minutes.cgi';break;
case '6_2':
case '20_2':
case '23_2':
$filepath='alexander.cgi';break;
case '7_1':
case '10_1':
case '22_1':
$filepath='arayuru.cgi';break;
case '6_5':
case '10_5':
$filepath='digital.cgi';break;
case '2_4':
case '5_3':
case '8_4':
$filepath='feeling.cgi';break;
case '0_2':
case '2_2':
case '4_4':
$filepath='higherselfgoroku.cgi';break;
case '0_3':
case '21_0':
$filepath='houshin.cgi';break;
case '2_0':
case '3_0':
$filepath='';break;
}

(本当はもっといろいろ登録してあるけど、一部抜粋)

さて、ここで今日の課題。

以下の作業をするエクセルVBAのプログラムを作れ。
[1] このリストを解析して、何時の何分台にどのテンプレートのメールを送るかを一覧するエクセル表を作る
[2] [1]で作った表を元に、上記と同様のSwitch文を自動生成する。

僕の手元にあるプログラムではありますが。
あとで、僕もトライしてみます。(今日はちょっと忙しいので、たぶん明日以降)

例によって、8月31日までにトライしてご報告いただいた方には、僕かトライした様子をそのままキャプチャーした動画をさしあげます。
ご報告にあたっては、「やってみたけど、途中で挫折した」とか、そういうのでもOKですよ。

今回のシリーズの5個の課題をすべてやれば、文字列操作にはかなり慣れるかと思います (^^

それでは ヾ(´ー`)ノ

キーワード

コメント

コメントを残す

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

最新の記事

人気記事

最新記事

カテゴリ

最新コメント

タグクラウド