• ベストアンサー

Excel 第1水準漢字のみのデータにしたい

エクセルに入力されているデータで 第2水準漢字なども含まれているものがあります。 漢字は第1水準のみにしたいのですが 何か方法はありますでしょうか? 第2水準以上の漢字を検索する方法など ありましたら教えていただけませんでしょうか? よろしくお願いします!

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

  • ベストアンサー
  • hogehage
  • ベストアンサー率50% (54/107)
回答No.8

再び#3です。 If Range("IV2").Value < 12321 _ Or Range("IV2").Value > 20307 Then '第一水準外だったら の部分を If Range("IV2").Value > 20307 Then '第一水準より大きい場合 に書き換えて下さい。 そうですよね、「ひらがな」とかもはじいていましたね。失礼しました。 文字コードは、 (1)半角文字     (! 33) (2)記号・英数字   (、 8482) (3)ひらがな・カタカナ(ぁ 9249) (4)ギリシャ文字   (Α 9761) (5)ロシア文字    (А 10017) (6)特殊文字     (─ 10273) (7)第一水準     (亜 12321) (8)第二水準     (弌 20513) (9)外字       (  32545) の順番で振られているようです。 ( )内は、先頭の文字とCODE関数での文字コードです。

dghyx041
質問者

お礼

分かりやすいご回答、何から何までありがとうございます(>_<)おかげ様でできました(^^)本当に助かりました!

その他の回答 (7)

  • WWolf
  • ベストアンサー率26% (51/192)
回答No.7

#4です。 Private Sub CommandButton1_Click() というイベントなのでコマンドボタンを押せば・・・ ということになります。 #6さんと同様な方法でいくなら Private Sub CommandButton1_Click() を Private Sub test() とでもして下さい。

dghyx041
質問者

お礼

助かりました!ありがとうございました(^_^)

  • hogehage
  • ベストアンサー率50% (54/107)
回答No.6

一番汎用的と思われる方法は、 (1)ALT + F11 とすると、コードの画面(VBE) になります。 (2)左にある ThisWorkbook をダブルクリックします。 (3)右の真っ白なところに、#3 や #4さんのコードを  貼り付けます。 (4)コードの画面(VBE)は、×で閉じて構いません。 (5)ALT + F8 とすると、マクロの一覧が出てきますので、  選択して、[実行]をクリックするとマクロが実行されます。 引っかかるところがありましたら、再度書き込んで下さい。ではでは。

dghyx041
質問者

お礼

できたぁぁ!わざわざすみません(>_<) ちなみに、漢字以外の文字は対象外ということは可能なのでしょうか???ひらがなとか数字まじりのデータの場合は使えませんよね(^_^;)

  • hogehage
  • ベストアンサー率50% (54/107)
回答No.5

#3 です。すみません。今日何気なく実行してみたらExcel2003でも、問題なく実行できました。 う~ん、何を勘違いしたのか、、失礼しました。

dghyx041
質問者

補足

ごめんなさい、ものすごい基本的なことを聞いてよいでしょうか… 私はエクセルのマクロは「新しいマクロの記録」とかでシート上で設定する方法しか知らないのを忘れていました(>_<) 教えてもらったスクリプトをどこに書いてどう実行すれば良いのか教えていただけますでしょうか? 申し訳ないです。

  • WWolf
  • ベストアンサー率26% (51/192)
回答No.4

参考として 下記はシート1のA1からA10までのセルに入っている文字で第二水準が含まれている場合メッセージボックスをだします。 Private Sub CommandButton1_Click() Dim StrTget, StrAll, StrLen, Moji For i = 1 To 10 StrTget = Worksheets(1).Cells(i, 1).Value StrAll = StrTget StrLen = Len(StrAll) For j = 1 To StrLen Moji = Mid(StrAll, j, 1) If Asc(Moji) >= -26465 Then MsgBox "第二水準" & Chr(13) & Moji End If Next j Next i End Sub

dghyx041
質問者

お礼

ありがとうございます(>_<)自宅のPCはExcel2003なので、休み明けに会社で試してみます!

dghyx041
質問者

補足

N0.6で教えてもらった方法で貼り付けて動かしてみたのですが、ちゃんと動きませんでした…Alt+F8を押しても「マクロ名」に何も表示されません(T_T)

  • hogehage
  • ベストアンサー率50% (54/107)
回答No.3

それでは、 ■選択されているセルの文字列を1文字ずつ確認しています。IV1 にその1文字を入れ、IV2 の CODE関数 で文字コードを拾っています。 ■第一水準外だったら文字色を[赤]にしています。 ■第一水準の文字コードは、12321~20307としています。 ※ Excel2000 で動作確認しています。Excel2003では、Midでエラーになります。 Sub sample_code()  Range("IV2").Formula = "=CODE(IV1)"  For Each T_C In Selection '選択セル   '1文字ずつ確認   For ii = 1 To Len(T_C.Value)    Range("IV1").Value = Mid(T_C.Value, ii, 1)    If Range("IV2").Value < 12321 _    Or Range("IV2").Value > 20307 Then '第一水準外だったら     '[赤]にします     T_C.Characters(Start:=ii, Length:=1).Font.ColorIndex = 3    End If   Next ii  Next  'クリア  Range("IV1:IV2").ClearContents End Sub

dghyx041
質問者

お礼

ありがとうございます(>_<)自宅のPCはExcel2003なので、休み明けに会社で試してみます!

  • hogehage
  • ベストアンサー率50% (54/107)
回答No.2

CODE関数とマクロで1文字ずつチェックして、第二水準だったらその文字に色を付けるなんて出来そうですよ。 希望されるのでしたら、サンプルを書きますが。

dghyx041
質問者

お礼

ご返答ありがとうございます。試してみたいので、やり方を教えていただけないでしょうか?関数やマクロはあまり使ったことがないのですが(>_<)

  • dalnu
  • ベストアンサー率25% (2/8)
回答No.1

アナログ的な手法ですが、第一水準までしかないフォントを適用して、目で見て判別。 有料フォントでは「仙草」が第一水準までの漢字しかありませんし、フリーで公開されているフォントにも第一水準までしかない(そこまでしか作っていない)物が多々あります。 特徴的なフォントであるほど判別しやすいです。 検索する対象が少なければ、これで充分かと。 でなければ、下記の様なExcelファイルの検索・置換が出来るソフトで、検索対象語句に第二水準以降の漢字を登録して使ってみてはいかがでしょうか。

参考URL:
http://www.vector.co.jp/soft/winnt/business/se314782.html
dghyx041
質問者

お礼

ご返答ありがとうございます。 やっぱりひとつずつ見るしかないんですかね…第一水準しかないフォントで表示すると、第二水準の漢字はどのように表示されるのでしょうか?何かの文字に置き換わるのであれば、またその置き換わった文字を検索できるのであれば問題は解決するのですが…

関連するQ&A

  • 第二水準漢字が含まれるか?

    テキストファイル内にJIS第二水準の文字が含まれているかを検索する方法はありますか?フリーソフトでもかまいません。 やりたいことは、 1.第二水準漢字がふくまれるか 2.第二水準漢字が何個存在するか? 3.第二水準漢字の抽出 のいずれかですが、3ができたら最高です。

  • 第1水準とか第2水準とか

    すみません。すごーく基本的すぎる質問だと思いますがゴメンナサイ。 名前を入力しているのですが、「第2水準以上の文字は使わず、類似漢字に置きかえる」 とあります。例えば、渡邉さんを→渡辺さん、にするというのはわかるのですが、 邉の字が第2水準以上かどうか、ということは、どこを見ればわかるのでしょうか? もし第2水準に入っていればぎりぎりセーフで使えるんです。 それはどこで確かめればいいのでしょうか? 検索して調べて見たのですが、コードがどうたら、と書いてあるばかりでよくわかりませんでした。 基本的なことですみませんが、よろしくお願いいたします。

  • JISの第1・第2水準以外の漢字の見つけ方

    JISの第1・第2水準内の漢字以外は使わず、 それに該当するものは平仮名、または別の漢字にして入力しなければいけない仕事があるのですが 見極め方というか、見つけ方を調べてみたところ Excel等でセルに1文字ずつ入力して見つけることはできるそうですが 何しろ入力量は相当量あるため、非常に効率的ではありません。 JISの第1・第2水準がどういうものなのかも理解していませんので 例えば、Word等で入力した文章中に 第1・第2水準以外のものがあったら印を付けてくれる、色を変えてくれるとか そういったフリーソフト等ありませんでしょうか? Windows7を使っていますが7対応ではないフリーソフトでも構いませんので教えて下さい。 (まったく動作しない可能性も無くは無いので)

  • 漢字のJIS水準をエクセルを使用して調べる方法がよくわかりません。

    漢字のJIS水準をエクセルを使用して調べる方法がよくわかりません。 質問集に同様の問い合わせがあり、回答が寄せられているのですがエクセルに不案内のため、操作方法がよくわかりません。以下のような操作 >エクセルでA1セルに文字を入れ、A2セルに >=CODE(A1)と入れて下さい。 をすると結果として得られるセルの値とはどこで確認できるのですか。 またはデータを入力する前に何かセルの書式設定などが必要ですか。 結果として得られたA2のセルの値についての見方はわかるのですが・・・。 よろしくお願いいたします。

  • JIS水準漢字の選別方法教えてください

    『JIS第1・2水準漢字のみ使用にするには』 氏名入力で、JIS第1・2水準漢字のみ使用という仕様の場合、それ以外の文字をチェックする方法を教えてください。エクセルの設定がなければ、フリーソフトのダウンロードでなく、サイト機能使用できるサイトを教えてください。

  • JIS第三、第四水準の漢字は入力可能になったか?

    OSが Win 7 Pro SP-1 の私のパソコンでは、JIS第一水準および第二水準までの漢字は入力可能だけど、第三、第四水準の漢字は入力不可能です。 Windows 8 では、第三、第四水準の漢字も入力できるようになっていますか? 漢字コードで入力する場合、入力可能なコードの種類は次のドレとドレかを教えて下さい。 区点コード、JISコード、シフトJISコード、UNIコード 具体例を挙げておきます。 添付 Fig-1 の漢字(「徳」の異字体)  →第四水準 「山」冠の下に「奇」(「嵜」の異字体)→第三水準 「山」偏の右に「竒」(「崎」の異字体)→第三水準 これらの漢字をMS明朝で入力&表示できますか?

  • 住所録に第3水準の漢字が入力できません

    住所録に第3水準の漢字が入力出来ません。画面には出るのですが、エンターキーを押すと「?」になります。どなたか原因のわかる方がいましたら、教えていただけないでしょうか。今も質問内容に書き込んだときは、漢字が入力出来ていたのですが、下の確認画面を押すと、その漢字が数字に変わってしまいました。これです。(涔 読み方はシンです)。入力方法のわかる方がいましたら、お教えいただけないでしょうか。よろしくお願いします。OSはWinXPで、入力はATOK2008を使っています。

  • JIS漢字の第1水準と第2水準の見分け方

    JIS漢字をVBのプログラムの中で、第1水準か第2水準か判断することはできますでしょうか? またLotusNotesのロータススクリプトでもできますでしょうか?

  • 第1水準漢字の文字数など

    (1)第1水準漢字、第2水準漢字、第3水準漢字、第4水準漢字と4種類ありますが、それぞれ何文字あるのでしょうか。 (2)半角英数字は上記のどの漢字に含まれるのでしょうか。 (3)(1)、(2)は、何という文書において決められているのでしょうか。

  • エクセルに入力したデータでJIS第2水準の文字を検索することはVBA等で可能でしょうか?

    エクセルにて日々の受注データを登録するシステムを作っています。 このデータを下位の伝票発行システムに渡すに当たって、JIS第2水準や拡張文字コードの漢字を無理にでもJIS第1水準に変更する必要に迫られています。 自動的に変更できれば何よりなのですが、せめてJIS第1水準以外の文字だけをフォントカラーを赤にする等ができないかと考えております。 テキストファイルならエディタでこのようなこと簡単にできますが、エクセルでできないものでしょうか?

専門家に質問してみよう