No.7ベストアンサー
- 回答日時:
以下のマクロは
①A1~A10の漢字をUnicodeに変換し、B列から右側に出力します。
添付図の上側参照(黄が元データ、赤が変換結果)
②A11~A20行のUnicode(B列から右側に表示)を漢字に変換し、
A11~A20に変換します。
添付図の下側参照(黄が元データ、赤が変換結果)
①
Public Sub Kanji_to_Unicode()
Dim wrow As Long
Dim i As Long
Dim moji As String
Dim ws As Worksheet
Set ws = ActiveSheet
For wrow = 1 To 10
moji = ws.Cells(wrow, 1).Value
If moji <> "" Then
For i = 1 To Len(moji)
Dim cd As Long
cd = AscW(Mid(moji, i, 1))
If cd < 0 Then cd = cd + 65536
Cells(wrow, i + 1).Value = "\u" & Hex(cd)
Next
End If
Next
End Sub
②
Public Sub Unicode_to_Kanji()
Dim wrow As Long
Dim wcol As Long
Dim maxcol As Long
Dim moji As String
Dim ws As Worksheet
Set ws = ActiveSheet
For wrow = 11 To 20
maxcol = Cells(wrow, Columns.Count).End(xlToLeft).Column
If maxcol > 1 Then
moji = ""
For wcol = 2 To maxcol
Dim val As String
val = Cells(wrow, wcol).Value
If Left(val, 2) = "\u" Then
val = Mid(val, 3)
moji = moji & ChrW("&H" & val)
Else
moji = "不正文字コード"
Exit For
End If
Next
Cells(wrow, 1).Value = moji
End If
Next
End Sub
参考になれば幸いです。
No.6
- 回答日時:
下記のマクロは、A1~A10の人名中の漢字の使用状態をB1~B10に設定するマクロです。
1文字でも漢字を使用していれば、TRUEになります。1文字も漢字を使用していない場合はFALSEになります。Unicodeが\u4E00 以上の文字を漢字と判定します。
下記URL参照
http://www.ys-labo.com/pc/2015/Unicode.html
Public Sub 漢字判定()
Dim wrow As Long
Dim moji As String
Dim ws As Worksheet
Set ws = ActiveSheet
For wrow = 1 To 10
moji = ws.Cells(wrow, 1).Value
If moji <> "" Then
ws.Cells(wrow, 2).Value = KANJI_HANTEI(moji)
End If
Next
End Sub
Private Function KANJI_HANTEI(ByVal moji As String)
Dim ll As Long
Dim i As Long
Dim ucode As Long
KANJI_HANTEI = False
For i = 1 To Len(moji)
ucode = AscW(Mid(moji, i, 1))
If ucode < 0 Then ucode = ucode + 65536
If ucode >= &H4E00 Then
KANJI_HANTEI = True
Exit Function
End If
Next
End Function
No.5
- 回答日時:
>全ての人名の中には漢字に変換候補がなくカタカナであらわされている方がいるので、カタカナから漢字の変換と
これは、思いつきません。
オダノブナガ から 織田信長 にしたい。
にする方法は、人間が判断するか、AIに判断させるかのどちらかになるかと思います。VBAのマクロでは手に負えないかと思います。
>外国人の中には日本人と結婚されている方がおおく、全てがカタカナであらわされている外国人を抽出するのが目的です。
これは、カタカナの範囲を文字コードの範囲で定義し、その範囲内に
全て収まっていれば、全てがカタカナであると判断できます。
返信ありがとうございます
上部のは、fujillinさんの案にも基づいて考えていきたいと思います
下部のは[ ]で囲ったカタカナの文字コードで頑張ろうも思います。
No.4
- 回答日時:
>1と2、両方です
具体的に例を挙げて説明していただけませんでしょうか。
①と②の両方ということはあり得ないはずです。
全ての人名の中には漢字に変換候補がなくカタカナであらわされている方がいるので、カタカナから漢字の変換と
外国人の中には日本人と結婚されている方がおおく、全てがカタカナであらわされている外国人を抽出するのが目的です
No.3
- 回答日時:
すみません。
あなたが何をなさりたいのかがよくわかりません。例えば、織田信長という人名の場合、 あなたがなさりたいのは、以下のどれでしょうか。
①.織田信長 という文字から、そのUnicodeを取得したい。
(\u7E54 \u7530 \u4FE1 \u9577 を取得したい)
②.その人名のunicodeはわかっているので、そのunicodeから人名を取得したい。
(\u7E54 \u7530 \u4FE1 \u9577から"織田信長"という文字を取得したい)
③.上記の①、②のどちらでもない。
③の場合は、織田信長を例にして、あなたがなさりたいことを、具体的に提示していただけませんでしょうか。
No.2
- 回答日時:
>過去20年くらいの名簿の中に世界各国人名が沢山ありまして
それは、excelのシートに書かれているのでしょうか。
実際に書かれているサンプルを提示していただけると、良い回答が得られやすくなるかと。
No.1
- 回答日時:
こんにちは
Unicodeの文字コードがわかっていて、それをセルなどに表示したいという意味と解釈しました。
基本的にUnicodeの文字コードを文字に変換するには
ChrW()
関数を利用すれば可能です。
例えば、
Function unicodeWord(ByRef a) As String
Dim i
unicodeWord = ""
For i = LBound(a) To UBound(a)
unicodeWord = unicodeWord & ChrW(a(i))
Next i
End Function
のような関数を作成しておいて・・
'アラビア語
Range("A1").Value = unicodeWord(Array(1691, 1697, 1705))
'楔形文字
Range("A2").Value = unicodeWord(Array(55304, 56322, 55304, 56337))
のような処理を実行すれば、A1、A2セルにそれぞれの字句を表示できます。
(当然ですが漢字も同様です。上の例は単なる例で、字句に意味はありません。)
文字コードが16進表記の場合は、&H○○○○などとすれば良いです。
(1文字だけの変換なら、上記の関数も不要なので直接cChrW関数で・・)
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(法律) 昭和の役所に登録出来る氏名について 2 2022/08/17 23:31
- 韓国語 韓国人は漢字を読めますか 5 2022/10/07 18:33
- 地図・道路 あざの範囲の地図が欲しい 4 2023/12/16 08:55
- 歴史学 日本は唯一、世界の上を行っている国ですよね? 3 2023/06/04 10:53
- 会社・職場 20歳の社会人です。悩みがあります。私はとても漢字が苦手です。それは小さい頃からなのですがパッと言わ 5 2022/03/25 10:15
- 地図・道路 GoogleMapなどの地図上で「任意の組合せ」の「複数の町」の境界を表示させたい(画像保存したい) 1 2022/08/25 11:05
- 中国語 中国人の漢字のふりがな 2 2022/10/07 18:25
- その他(暮らし・生活・行事) 私は近所の人達の名前(苗字ファミリーネーム)を知りません。 昨日も骨折をした時に救急車を呼んだのです 2 2023/01/11 07:57
- Excel(エクセル) エクセルの数式について教えてください。 2 2023/02/18 11:30
- その他(悩み相談・人生相談) 23歳女性、改名についてのご相談です。 幼少期からのいじめで改名を決断し候補を2つにしぼれたのですが 7 2023/12/11 02:14
このQ&Aを見た人はこんなQ&Aも見ています
-
性格の違いは生まれた順番で決まる?長男長女・中間子・末っ子・一人っ子の性格の傾向
同じ環境で生まれ育っても、生まれ順で性格は違うものなのだろうか。家庭教育研究家の田宮由美さんに教えてもらった。
-
Excelの関数に関する質問です
Excel(エクセル)
-
Excel関数かなにかでスムーズに処理するにはあなたならどうしますか?
Excel(エクセル)
-
Excelでこういう年を切り替えられる簡易なカレンダーを作ったのですが、 年や月を変えると、色が付い
Excel(エクセル)
-
-
4
VBA(えくせる)ってなんでメンテできない人が多いんですか?
Excel(エクセル)
-
5
エクセルで⑤番の操作が分かりません。どういう関数が良いんですか?
Excel(エクセル)
-
6
エクセルのセル統合について
Excel(エクセル)
-
7
“丸(〇/○/◯)”に似た文字…
Excel(エクセル)
-
8
表示されている人数だけを数えたい!!
Excel(エクセル)
-
9
データの入力規則 Excelです。 例えば、 C1セルに、 A列のデータ(B列にあいうえお"と入っ"
Excel(エクセル)
-
10
他人が作ったマクロの理解
Excel(エクセル)
-
11
EXCELだけを格安で買える店を教えてください。 無料などはないことでしょうから。
Excel(エクセル)
-
12
長期休みの関数はありますか
Excel(エクセル)
-
13
エクセルで入力してある文を別の文に変更することはできますでしょうか。
Excel(エクセル)
-
14
マクロを実行するとエクセルが小さく表示される
Excel(エクセル)
-
15
【マクロ】for nextステートメントがわかりません。例あり。
Excel(エクセル)
-
16
Excelガントチャートについて
Excel(エクセル)
-
17
ご教示のほどお願いします。 Excelで管理表を作成してまして、関数式を教えてください。 添付した写
Excel(エクセル)
-
18
同じパターンで出てくる言葉に通し番号をつけたい
Excel(エクセル)
-
19
エクセルの関数でわからないことあるのでコード付きで教えてください
Excel(エクセル)
-
20
Excel 時間が入力されているか確認する方法を教えてください
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
「初め」か「始め」どちら?
-
”ギリギリ” を丁寧に言うには
-
この文字の変換方法を教えて
-
「取組」と「取り組み」の違い
-
「ん」一文字の漢字はありますか?
-
「基」と「元」の使い方
-
「時間がたつ」の「たつ」は、...
-
「50万円を超える」は50万円以...
-
0(ゼロ)とO(オー)の書き分け...
-
次頁はなんと読みますか?
-
木へんに夕に卩ってどう読みま...
-
「お客様お一人おひとり」と書...
-
対策を採る?取る?
-
「一つひとつ」とどうして前は...
-
文章で対象者を「人」というか...
-
エクセルでセルの中身が漢字か...
-
“わく”に宛てる漢字について
-
小論文で1000字程度という...
-
有難う 有り難う どっち?
-
日差しが差す(陽射しが射す)...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
「初め」か「始め」どちら?
-
”ギリギリ” を丁寧に言うには
-
この文字の変換方法を教えて
-
「取組」と「取り組み」の違い
-
「時間がたつ」の「たつ」は、...
-
「50万円を超える」は50万円以...
-
「ん」一文字の漢字はありますか?
-
次頁はなんと読みますか?
-
木へんに夕に卩ってどう読みま...
-
「基」と「元」の使い方
-
魚へんの下の点々が大
-
「~していただきまして、あり...
-
エクセルでセルの中身が漢字か...
-
「一つひとつ」とどうして前は...
-
お礼は「有難う御座います」で...
-
“わく”に宛てる漢字について
-
日差しが差す(陽射しが射す)...
-
0(ゼロ)とO(オー)の書き分け...
-
奥さんと同じ布団で寝ると勃起...
-
「お客様お一人おひとり」と書...
おすすめ情報
日本人名と混ざった個人名なので、個人情報の兼ね合いから直接はお出しできないのが残念です
Excelのシートに収められています
また、fujillinさんの方法と併せて漢字であればtrueと出したいとおもい、
[々〇\u3400-\u9FFF\uF900-\uFAFF]|[\uD840-\uD87F][\uDC00-\uDFFF]という範囲を見つけました。
1と2、両方です
ご迷惑おかけしてすみません