- ベストアンサー
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もメッセージを表示させたいのですが、 マッチバイトみたいなのってありますか?
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
あるいは、半角に変換して比較するかどちらかでしょうね。 つまり If StrConv(str, vbNarrow) Like "*A*" Then ' ←半角の「A」 としてやる感じです。 この辺りは好みですね。 ところで、今回は例として・・ですからあまり重要ではないかもしれませんが、 VBAには「Str関数(数値を文字列に変える)」という関数が存在しますから、 変数名として「str」はあまり良くないかもしれませんね。 まぁ、エクセルのVBAですし、そんなに気にすることもないのかもしれませんが・・
その他の回答 (2)
- tom04
- ベストアンサー率49% (2537/5117)
回答No.2
こんにちは! >半角Aもメッセージを表示させたいのですが とありますので、 strを全角に変換したもので判断してみてはどうでしょうか? If StrConv(str, vbWide) Like "*A*" Then といった感じです。m(_ _)m
質問者
お礼
ありがとうございました。
- keithin
- ベストアンサー率66% (5278/7941)
回答No.1
モジュールの先頭(sub test1()の前)に option compare text を記載しておきます。 ただし大文字と小文字も区別しなくなります。
質問者
お礼
ありがとうございました。
お礼
ありがとうございました。