- ベストアンサー
VBAでの全角数字と半角数字の判断について
はじめまして、こんにちは。VBAのプログラムについて教えて欲しいのですが、「ぐう1」のように文字列の一番後ろの数字を削除するプログラムを作成したいです。asc関数を利用して str="ぐう1234" StrLenNum = Len(str) If Asc(Right(str, 1)) >= 48 And Asc(Right(str, 1)) <= 57 Then str = Left(str, StrLenNum - 1) としたのですが、これでは 「ぐう1」という全角数字に対応することができませんでした。 全角文字に対応するにはどうすればよいでしょうか? よろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
If Asc(Right(str, 1)) >= 48 And Asc(Right(str, 1)) <= 57 Then str = Left(str, StrLenNum - 1) を If Asc(StrConv(Right(str, 1),vbNarrow)) >= 48 And Asc(StrConv(Right(str, 1),vbNarrow)) <= 57 Then に変更してやればいいです。
その他の回答 (2)
- Musaffah
- ベストアンサー率36% (37/101)
#2さんの回答で問題は解決していますが、 str="ぐう1234" str=strConv(str, vbNarrow) ←これを追加 StrLenNum = Len(str) ・ ・ ・ とすれば最小限の変更でいけます。
お礼
ご返事遅くなりもうしわけございません。 おかげさまでできるようになりました。 ありがとうございます。
- gatyan
- ベストアンサー率41% (160/385)
IsNumeric関数は使えませんか?
お礼
ご返事遅くなりもうしわけございません。 おかげさまでできるようになりました。 ありがとうございます。
お礼
ご返事遅くなりもうしわけございません。 おかげさまでできるようになりました。 ありがとうございます。