• ベストアンサー

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」という全角数字に対応することができませんでした。 全角文字に対応するにはどうすればよいでしょうか? よろしくお願いします。

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

  • ベストアンサー
  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.2

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 に変更してやればいいです。

eri1235
質問者

お礼

ご返事遅くなりもうしわけございません。 おかげさまでできるようになりました。 ありがとうございます。

その他の回答 (2)

  • Musaffah
  • ベストアンサー率36% (37/101)
回答No.3

#2さんの回答で問題は解決していますが、 str="ぐう1234" str=strConv(str, vbNarrow) ←これを追加 StrLenNum = Len(str) ・ ・ ・ とすれば最小限の変更でいけます。

eri1235
質問者

お礼

ご返事遅くなりもうしわけございません。 おかげさまでできるようになりました。 ありがとうございます。

  • gatyan
  • ベストアンサー率41% (160/385)
回答No.1

IsNumeric関数は使えませんか?

eri1235
質問者

お礼

ご返事遅くなりもうしわけございません。 おかげさまでできるようになりました。 ありがとうございます。

関連するQ&A