ここから本文です

Excel VBAでセルに入力された文字列内に JIS X 2080以外の文字が入力されている場...

cam********さん

2010/8/1313:56:55

Excel VBAでセルに入力された文字列内に
JIS X 2080以外の文字が入力されている場合
その文字だけフォントを変える(文字色を赤にするなど)方法はありますか?
現在文字列をJISに変換するところまではできました・・・

例)
A B
1 お菓子 オカシ
2 真一郞 シンイチロウ

上記の場合だと「郞」だけが赤字になる。

環境
Win XP SP3 Pro
Excel 2007

よろしくお願いします。

補足>★1のところで、.Textが"JIS X 2080以外の文字"かどうかを判定
>条件式を入れてください。

判定がどうしたらいいのか難しい…
ちょっと考えてみます。

この質問は、活躍中のチエリアン・専門家に回答をリクエストしました。

閲覧数:
1,645
回答数:
1
お礼:
250枚

違反報告

ベストアンサーに選ばれた回答

xls********さん

編集あり2010/8/1611:04:18

一文字毎に調べることになると思います。

Dim i As Integer, n As Integer

If TypeName(ActiveCell.Value) = "String" Then
For i = 1 To Len(ActiveCell.Text)
With ActiveCell.Characters(i, 1)
If .Text を判定する条件式 Then '★1
.Font.ColorIndex = 3
MsgBox "JIS X 2080以外の文字です。"
End If
End With
Next
End If

★1のところで、.Textが"JIS X 2080以外の文字"かどうかを判定
条件式を入れてください。

「郞」はIBM拡張文字ですね。
Shift-JISで定義されています。
Windowマシンなら普通に表示される文字です。


≫補足
>判定がどうしたらいいのか難しい…

下記ページが参考になりませんか?
機種依存文字チェック関数
http://hatenachips.blog34.fc2.com/blog-entry-63.html
[非 .net] VBAで機種依存文字のチェック
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=9227&forum=...

上手く無い場合、本スレッドは閉じられて新たに質問すればどうでしょうか。
その際には、現状テストされているコードを提示してみてください。

質問した人からのコメント

2010/8/17 09:53:18

>xls88_1さん

ありがとうございました。
とても参考になりました。

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる