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

excelで1つのセルの中に 漢字、ひらがな、数字、英字、英記号などが入っています。
さてこのなかで漢字だけ、あるいはひらがなだけ、あるいは数字だけを表示したいとします。即ちデータを分離して表示したいとします。
どのようにすればいいのでしょうか。

A 回答 (3件)

テストデータとしてSheet1のA1-A4(B列は空き)に下記左端列のデータを作りました。


C・D・F列は下記プログラムの実行結果です。
(A列)    (B列)  (C列) (D列) (E列)
111大阪asd123111123asd大阪
ならqwカナカアqwカナカアなら
astro関東astro関東
as123仙台東123123123as仙台東
ALTキーを押しながらF11キーを押して出る、VBE画面
にModule1を挿入し、そこに
Sub test01()
Dim b As String
Dim c As Long
For j = 1 To 4
a = Worksheets("sheet1").Cells(j, 1)
s1 = ""
s2 = ""
s3 = ""
For i = 1 To Len(a)
b = Mid(a, i, 1)
' MsgBox b
c = Asc(b)
' MsgBox c
Select Case c
Case Is < 0
s3 = s3 & Mid(a, i, 1)
' MsgBox "aaa"
' 数字(半角)
Case Is < 58 And c > 48
s1 = s1 & b
' 英字小文字(半角)
Case Is < 123 And c > 96
s2 = s2 & b
' 英字大文字(半角)
Case Is < 91 And c > 64
s2 = s2 & b
' カナ(半角)
Case Is < 222 And c > 165
s2 = s2 & b
Case Else
s2 = s2 & b
End Select
Next i
Worksheets("sheet1").Cells(j, 3) = s1
Worksheets("sheet1").Cells(j, 4) = s2
Worksheets("sheet1").Cells(j, 5) = s3
Next j
End Sub
を貼りつけて実行してください。
C・D・E列には、上記のように分離されました。
大小英字・カナ(半角)の分離は上記を少し変えれば出来ます。
漢字とひらがなが分離できていませんが取りあえず載せます。
    • good
    • 0
この回答へのお礼

力作どうもありがとうございました

お礼日時:2002/09/10 10:47

――――――――――――――――――――――――――――――――――――


A1 |B1 | C1 | D1 |E1 |F1
―――――――――――――――――――――――――――――――――――――
亜あ4Aa | 亜 | あ | 4 | A | a
―――――――――――――――――――――――――――――――――――――


例えば、
「A1」に「亜あ4Aab」
と入っているのを、
「B1」に「亜」
「C1」に「あ」
「D1」に「 4」
「E1」に「 A」
「F1」に「 a」

てな具合に表示させるというのであれば、
(1)元のデータが入っている、A1をクリック  
 (セルが複数あるいは列全体ならば、その範囲をドラッグ)

(2)メニューバーの
 データ → 区切り位置
  スペースによって右または左に揃えられた固定長フィールドのデータ 
  にチェックを入れて次へ
  
(3)区切りたい目盛りの所をマウスでクリックして区切り線をいれて次へ

(4)各々のデータについて「列のデータ形式」を設定し、
 「表示先」を「B1」にして完了ボタンを押す


質問の意味を取り違えてたらすいません。
    • good
    • 0
この回答へのお礼

このような機能あること知りませんでした。
とても役に立ちこれで解決しました。

お礼日時:2002/09/10 10:54

漢字、ひらがな、数字、英字、英記号が入力されているセルをCODE関数で文字のコードを取り出します。


このセルで並べ替えれば、漢字、ひらがな、数字、英字、英記号を分離できます。
例)
code文字列
491
65A
97a
9250あ
12321亜
    • good
    • 0
この回答へのお礼

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

お礼日時:2002/09/10 10:52

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