• ベストアンサー

Select Caseで条件が複数の場合

ifではなくSelect Case で表現するにはどうすればいいでしょうか? Sub Macro1() ひらがな = "い" カタカナ = "イ" Select Case ひらがな Case "あ" Select Case カタカナ Case "ア" MsgBox "ひらがな = ""あ""カタカナ = ""ア""です" End Select End Select Select Case ひらがな Case "い" Select Case カタカナ Case "イ" MsgBox "ひらがな = ""い""カタカナ = ""イ""です" End Select End Select End Sub この場合あ~おまでの条件を設定したい場合どのように書けばいいのでしょうか? またひらがな = "あ"、カタカナ = "イ"の場合はスルーしたいです。 なにか効率のいい方法はありますでしょうか? IFの方が書き方としては正しいのでしょうか? よろしくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • hana-hana3
  • ベストアンサー率31% (4940/15541)
回答No.1

>なにか効率のいい方法はありますでしょうか? サンプルとしての提示では、プログラムで何をしたいのかが全く理解出来ません。 >なにか効率のいい方法はありますでしょうか? >IFの方が書き方としては正しいのでしょうか? 処理の選択や分岐条件などをきちんと纏めて、無駄なコードを書かない事です。 そして、なによりも見やすい(読みやすい)プログラムを書くのが一番です。 処理が1文字なら「文字コード」で判別する事も可能です。 文字列なら別の方法もあるでしょう。 提示されたサンプルで条件を満たしても本当にやりたい事を満たせない場合もあります。

noname#150498
質問者

お礼

ご回答ありがとうございます。

その他の回答 (2)

回答No.3

Sub Macro1() ひらがな = "い" カタカナ = "イ" If ひらがな = "あ" And カタカナ = "ア" Then MsgBox("ひらがな = ""あ""カタカナ = ""ア""です") ElseIf ひらがな = "い" And カタカナ = "イ" Then MsgBox("ひらがな = ""い""カタカナ = ""イ""です") End If End Sub

noname#150498
質問者

お礼

ご回答ありがとうございます。

  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.2

自分ならカタカナをひらがな変換して比較して異なる場合は除外しますが... Sub Macro1() ひらがな = "い" カタカナ = "イ" If ひらがな <> StrConv(カタカナ,VbHIRAGANA) Then Exit Sub Select Case ひらがな Case "あ" MsgBox "ひらがな = ""あ""カタカナ = ""ア""です" Case "い" MsgBox "ひらがな = ""い""カタカナ = ""イ""です" End Select End Sub

noname#150498
質問者

お礼

やはりIFですかね。ご回答ありがとうございます。