プロが教えるわが家の防犯対策術!

EXCEL2003を使用してます。名簿処理をするとき、外字で作られた文字が・やハングル文字で表示されることがよくあります。フィルタのオプションで一括で集めようと思ってもうまくいきません。何かよい方法はありませんか?

A 回答 (2件)

こんにちは。



Excel自体(日本語版)では、標準モードで、JIS になっていますから、それ以外の文字コードは、みんな「?」になって、同じ扱いになってしまうと思います。ふつうの「?」と区別が付きません。

だから、オートフィルタで、「?」を探してもよいとは思いますが、以下のようなコードです、Unicode が入っていれば、「1」を出し、外字があれば、「2」を出します。なお、外字は、自分のところで作成していなければ、出てこないはずです。

※標準モジュールへの取り付け方:

Alt +  F11 (Altを押しながらF11)を押すと、Visual Basic Editor 画面が出てきます。
次に、メニューの[挿入]-[標準モジュール]と開けて、クリックすると、画面が現れますので、以下のコードを貼り付けて、

Alt + Q で、画面を閉じます。

'----------------------------------

Function CheckUNC(ByVal txt As String)
Dim i As Integer
Dim c As String
  For i = 1 To Len(txt)
  c = Mid$(txt, i, 1)
  If Asc(c) = 63 And Abs(AscW(c)) > 1000 Then
   CheckUNC = 1
   Exit Function
  ElseIf AscW(c) > -8193 And AscW(c) < -5887 Then
   CheckUNC = 2
  Else
   CheckUNC = 0
  End If
  Next
End Function

'----------------------------------

貼り付けた後は、普通の関数のようにつかえます。
対象セルを引数に入れて、数式を入れます。

=CHECKUNC(A1)
(オートフィル[セルの右下の+]を、ドラッグして数式のコピーします)

このような、ユーザー定義関数を入れたままにすると、ワークシートが重くなりますので、重い場合は、コピーして、値貼り付けにしてしまうと、数式は消えて、数字になります。

出てきた数字を、オートフィルタで区分けすればよいと思います。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございました。自分のレベルではちょと難しく感じますが、試してみます。

お礼日時:2008/04/13 19:40

質問への回答ではありませんが、


New Gulim というフォントを削除しておけば、少なくともそのPCに登録されている外字はExcelで表示されるでしょう。
http://support.microsoft.com/kb/882573/ja
「New Gulim フォントを削除するには」
に従って下さい。

「New Gulim フォントを自動的に再インストールしない設定にするには」
「New Gulim フォントをインストールせずに、Office XP をインストールするには」
は、やらなくてもかまいません。
再インストール後、また同じことが起こったら、フォントを削除すればいいだけのことです。

外字はシフトJIS#F040以降、UnicodeではU+E000以降の「私用領域」に登録されます。
New Gulim は、この領域内の U+E0BC (シフトJIS#F140) 以降のコードに特殊なハングルを登録しているため、
アプリケーションによっては、使いたい外字が表示されずにそちらのハングルが表示されてしまうことがあるわけです。
ハングルのフォントでも Gulim では、この領域の特殊なハングルは登録されておらず、U+AC00以下の通常の「ハングル音節文字」の領域しか使っていないため、
ユーザが登録した外字との“ダブルブッキング”は起こりません。

別のPCで作成された文書に使われている外字を環境の異なるPCで表示するすべはありませんが…。

この回答への補足

ご回答ありがとうございました。少し質問文が不足でした。
名簿ファイルは別のPCで作成しています。当然自分のPCでは・やハングルのように化けるのですが、プリントした名簿もあるため、相手のPCで作成した外字を探して、自分のPCでも外字エディタで作成して登録する必要があるのです。そのために一括で集まればいいなと思い質問しました。

補足日時:2008/04/13 19:33
    • good
    • 1

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています