Jose's FANTASY SPORTS!

アメリカンフットボールを中心にスポーツ好きで、カントリーギター好きのJoseによる雑記帳です。

細かい事は分からんがVBAがやりたい-14-

2010年04月19日 22時17分08秒 | いきなりVBA(Excel)
[ いきなりVBA ]
いきなりVBA 第1回 LOG
前回のSelect Caseで始まるコードで、想定外の文字列が入った時に“何も起きない”という話をしました。
プログラムめいたものをやっていると、この“何も起きない”というのはクセモノです。

エラーが出て、処理されない場合は、自分が間違った事をすぐに自覚できます。
ところが何も起きない場合、処理が正常に行われたのかそうでないのか、分かりづらいのです。

Select~の場合、Case Elseという分岐を設ける事によって、こうした状況を改善する事ができます。
前回のコードで、書き方がまずいとしたのは、このCase Elseを書いていない点です。

前回のコードにCase Elseを付け足すと、こうなります。

Select Case Range("B2").Value
Case "カロライナ"
Range("C2").Value = "マッドキャッツ"
Case "テネシー"
Range("C2").Value = "スモーキーズ"
Case "ハンツヴィル"
Range("C2").Value = "スターズ"
Case "ウェストテネシー"
Range("C2").Value = "ダイヤモンドジャックス"
Case "チャタヌーガ"
Range("C2").Value = "ルックアウツ"
  Case Else
Range("C2").Value = "予期していない値が入力されました。"
End Select


B2に、値の条件として指定していない値を入力して、ボタンをクリックすると...


こうなります。

条件として指定した値以外の場合すべてが、この処理になります。

前回最後に書いた、オートフィルタで制限する方法でも回避できそうですが、実際の現場では本当にユーザーって、何するか分からないんで、オートフィルタでの制限をかけたうえで、Case Elseの設定しておくべしです。

BGM♪ Everybody else / Greg Kihn Band
メロディーが綺麗で、大好きな歌です。
elseは、~以外の、というような意味ですね。everybody elseだと、他の誰でもという意味になると思います。
Case elseも、まさにCaseで指定した場合“以外”の場合という指定になります。

コメント    この記事についてブログを書く
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« 夏到来-3- | トップ | 2連敗で最下位へ »
最新の画像もっと見る

コメントを投稿

いきなりVBA(Excel)」カテゴリの最新記事