• ベストアンサー

ハングルを日本語に置換

Excel VBAでハングルを日本語に置換することはできますか? 例えば、 Range("A:A").Replace What:="일본", Replacement:="日本" を行いたいのですが、VBEでハングルを入力できません。 よい方法があれば、お教えください。

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

  • ベストアンサー
回答No.1

Excelのシート上ではユニコードに対応しているので ハングルでも中国でも表示できますが 日本語VBA上ではShift-JIS(ANSI)の文字コードでしか扱えません。 "일본" が"??" になっているかと。 なので入れ物(Cell)ごと渡してしまえば簡単です。    A     B  1 検索文字  일본 2 置換文字  日本 3 置換対象  你好吗일본 4 置換結果  你好吗日本 range("b4")=replace(range("b3"),range("b1"),range("b2")) ご参考まで。

goo-learner
質問者

お礼

早速の明快なご教示を有難うございます。 この方法でうまくゆきました。

その他の回答 (1)

  • mitarashi
  • ベストアンサー率59% (574/965)
回答No.2

試しにやってみました。ご参考まで。 'Unicodeの文字コードを調べる Sub test() Dim buf As String Dim i As Long buf = Range("A1").Value For i = 1 To Len(buf) Debug.Print Hex(AscW(Mid(buf, i, 1))) Next i End Sub 'C77C 'BCF8 Sub test2() Dim buf As String buf = ChrW(&HC77C) & ChrW(&HBCF8) Range("A1").Value = Replace(Range("A1").Value, buf, "日本") End Sub 'VBEでの表記はやめてセルに入れた値を用いる案 Sub test3() Range("A1").Value = Replace(Range("A1").Value, Range("A2").Value, "日本") End Sub

goo-learner
質問者

お礼

詳細なご教示を頂き、有難うございます。 第2の方法でうまくいきました。

関連するQ&A