• ベストアンサー

IFステートメントで半角でも全角でもtrueとさせ

IFステートメントで半角でも全角でもtrueとさせるには? Sub test1() Dim str As String str = "ABC"’←全角のA If str Like "*A*" Then ’←半角のA MsgBox "Aがあります" End If End Sub これで、半角Aもメッセージを表示させたいのですが、 マッチバイトみたいなのってありますか?

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

  • ベストアンサー
  • tsubuyuki
  • ベストアンサー率45% (699/1545)
回答No.3

あるいは、半角に変換して比較するかどちらかでしょうね。 つまり If StrConv(str, vbNarrow) Like "*A*" Then ' ←半角の「A」 としてやる感じです。 この辺りは好みですね。 ところで、今回は例として・・ですからあまり重要ではないかもしれませんが、 VBAには「Str関数(数値を文字列に変える)」という関数が存在しますから、 変数名として「str」はあまり良くないかもしれませんね。 まぁ、エクセルのVBAですし、そんなに気にすることもないのかもしれませんが・・

BMGHYOAGITSPI
質問者

お礼

ありがとうございました。

その他の回答 (2)

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.2

こんにちは! >半角Aもメッセージを表示させたいのですが とありますので、 strを全角に変換したもので判断してみてはどうでしょうか? If StrConv(str, vbWide) Like "*A*" Then といった感じです。m(_ _)m

BMGHYOAGITSPI
質問者

お礼

ありがとうございました。

  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.1

モジュールの先頭(sub test1()の前)に option compare text を記載しておきます。 ただし大文字と小文字も区別しなくなります。

BMGHYOAGITSPI
質問者

お礼

ありがとうございました。

関連するQ&A