プロが教える店舗&オフィスのセキュリティ対策術

エクセルに入力されているデータで
第2水準漢字なども含まれているものがあります。
漢字は第1水準のみにしたいのですが
何か方法はありますでしょうか?

第2水準以上の漢字を検索する方法など
ありましたら教えていただけませんでしょうか?

よろしくお願いします!

A 回答 (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関数での文字コードです。
    • good
    • 0
この回答へのお礼

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

お礼日時:2005/02/16 10:36

#4です。


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

Private Sub test()
とでもして下さい。
    • good
    • 0
この回答へのお礼

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

お礼日時:2005/02/16 10:35

一番汎用的と思われる方法は、



(1)ALT + F11 とすると、コードの画面(VBE) になります。

(2)左にある ThisWorkbook をダブルクリックします。

(3)右の真っ白なところに、#3 や #4さんのコードを
 貼り付けます。

(4)コードの画面(VBE)は、×で閉じて構いません。

(5)ALT + F8 とすると、マクロの一覧が出てきますので、
 選択して、[実行]をクリックするとマクロが実行されます。

引っかかるところがありましたら、再度書き込んで下さい。ではでは。
    • good
    • 1
この回答へのお礼

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

お礼日時:2005/02/15 17:33

#3 です。

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

この回答への補足

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

補足日時:2005/02/15 12:46
    • good
    • 0

参考として


下記はシート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

この回答への補足

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

補足日時:2005/02/15 17:33
    • good
    • 0
この回答へのお礼

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

お礼日時:2005/02/12 17:11

それでは、



■選択されているセルの文字列を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
    • good
    • 0
この回答へのお礼

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

お礼日時:2005/02/12 17:10

CODE関数とマクロで1文字ずつチェックして、第二水準だったらその文字に色を付けるなんて出来そうですよ。



希望されるのでしたら、サンプルを書きますが。
    • good
    • 0
この回答へのお礼

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

お礼日時:2005/02/10 21:09

アナログ的な手法ですが、第一水準までしかないフォントを適用して、目で見て判別。


有料フォントでは「仙草」が第一水準までの漢字しかありませんし、フリーで公開されているフォントにも第一水準までしかない(そこまでしか作っていない)物が多々あります。
特徴的なフォントであるほど判別しやすいです。
検索する対象が少なければ、これで充分かと。

でなければ、下記の様なExcelファイルの検索・置換が出来るソフトで、検索対象語句に第二水準以降の漢字を登録して使ってみてはいかがでしょうか。

参考URL:http://www.vector.co.jp/soft/winnt/business/se31 …
    • good
    • 0
この回答へのお礼

ご返答ありがとうございます。

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

お礼日時:2005/02/10 17:26

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