- 締切済み
Excel カタカナひらがな ローマ字変換 VBA
ツールなどではなくどうしてもエクセルのマクロでカタカナやひらがなをローマ字に変更したいです。 イトウ→Itoh オオノ→Ohno ホンマ→Homma イイヅカ→iizuka ヨウコ→Yoko https://oshiete.goo.ne.jp/qa/9519871.html を参考にしましたが、うまく変換できませんでした。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- imogasi
- ベストアンサー率27% (4737/17069)
下記は、満足すべき回答ではありません。 素人的な発想の幼稚なものです。 難しさを認識するための、参考に上げてみたものです。 質問者が、参考にしたと、挙げているWEB記事内容以下のものですが、質問者が、もっと、どこがうまく行かなかったのかを認識して 、質問に書くべきで、その参考にしてほしいです。 最大の点は、NO1のご回答のご指摘にあるように、ルールが混合していることです。 他にも、またオオノ→Ohnoのようにhの使い方は、oの場合とohの場合の判別がむつかしいのではないですか。 またカナーローマ字の変換のMSなどが用意したモジュールや、ステートメントはなくて、自作せねばならないと思います。 ーーー 参考 Sheet1のA2:A8 イトウ オオノ ホンマ イイヅカ ヨウコ オノ ツカノ ーーーー 変換テーブル D2:E15 (本当はカナ全文字+濁点つき全文字+半濁点つき全文字のテーブル が必要と思うが、ここでは略。)全角のかなを前提にする。 イ i ト to ウ u オ o ノ no ホ ho ン nn マ ma ヅ zu カ ka ツ tu ヨ yo ウ u コ ko ーーー 標準モジュールに Sub test01() For i = 2 To 8 'MsgBox Len(Cells(i, "A")) s = "" For j = 1 To Len(Cells(i, "A")) x = Mid(Cells(i, "A"), j, 1) Set y = Range("d1:D1000").Find(x) 'MsgBox y 'MsgBox y.Offset(0, 1) Z = y.Offset(0, 1) s = s & Z Next j 'MsgBox s Cells(i, "B") = s Next i End Sub 結果 A列+B列 イトウ itou オオノ oono ホンマ honnma イイヅカ iizuka ヨウコ youko オノ ono ツカノ tukano 質問に挙げている、希望する結果との違いになる語を 認識して、コードを追加や修正すれば、思い通りになるか 考える一助にしてください。 >うまく変換できませんでした 質問記述として、どういう点がうまく行かなかったのか、具体例を挙げないのは、おかしくないですか。そこが切り込むべき点でしょう。
- masnoske
- ベストアンサー率35% (67/190)
ローマ字には変換ルールがないので無理です。唯一あるのがパスポートに記入する時のヘボン式と非ヘボン式ですが、あなたのルールはチャンポン式になっています。
お礼
そういうことは聞いていません
お礼
参考にします