- ベストアンサー
EXCELで、全角文字のコード入手
任意の長さの全角文字列を文字コードの並びに変換したいのですが、 エクセルでどうしたらいいのでしょうか? 例えば 東京 → 938C8B9E 東京タワー → 938C8B9E835E838F81
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
A B C D E F G H I 1 東京 938C8B9E 東 京 2 東京タワー 938C8B9E835E838F815B 東 京 タ ワ ー 3 通天閣 92CA93568A74 通 天 閣 J K L M N 1 938C 8B9E 2 938C 8B9E 835E 838F 815B 3 92CA 9356 8A74 D1: =MID($A1,COLUMN(A1),1) J1: =IF(COLUMN(A1)>LEN($A1),"",DEC2HEX(ROUND(HEX2DEC(LEFT(DEC2HEX(CODE(D1),4),2))/2,0)+HEX2DEC(70)+HEX2DEC(40)*(ROUND(HEX2DEC(LEFT(DEC2HEX(CODE(D1),4),2))/2,0)+HEX2DEC(70)>159))&IF(MOD(HEX2DEC(LEFT(DEC2HEX(CODE(D1),4),2)),2),DEC2HEX(HEX2DEC(RIGHT(DEC2HEX(CODE(D1)),2))+HEX2DEC(20)-(HEX2DEC(RIGHT(DEC2HEX(CODE(D1)),2))+HEX2DEC(20)<127)),DEC2HEX(HEX2DEC(RIGHT(DEC2HEX(CODE(D1)),2))+126))) B1: =J1&K1&L1&M1&N1
その他の回答 (2)
- Wendy02
- ベストアンサー率57% (3570/6232)
こんばんは。 Shift JIS 指定なのですね。JISならば、関数のCODE を使うのですが、関数で行うのは、一覧表のようなものを作らなければならないので、とても面倒です。だから、 VBA関数のAsc を使うしかないです。 標準モジュール Function SJ(rng As Variant) As String Dim myStr As String Dim buf As String Dim i As Integer If VarType(rng) = vbString Then myStr = rng Else Exit Function End If For i = 1 To Len(myStr) buf = buf & Hex(Asc(Mid(myStr, i, 1))) Next i SJ = buf End Function 使い方は、 セルに以下のような数式を入れる =SJ("東京タワー") または、 A1: 東京タワー =SJ(A1)
お礼
Wendy02さん、回答ありがとうございました。
- kawais070
- ベストアンサー率52% (2242/4283)
以下のようなマクロで可能かと。 Dim strSource As String Dim strDest As String Dim i As Integer strSource = "東京タワー" strDest = "" For i = 1 To Len(strSource) strDest = strDest & Hex(Asc(Mid(strSource, i, 1))) Next MsgBox strDest
お礼
kawais070さん 回答ありがとうございました。
お礼
mike_gさん、回答ありがとうございました。 J1に指定の計算式を入れましたら、#NAME?が表示されました。 調べると、HEX2DECが使えないし、インストールもできないことが分かりました。