Excel カタカナからローマ字変換

ありそうでなかったカタカナからローマ字変換のExcel関数をVBAで作ってみました。 コピペして使ってください。

Excel カタカナからローマ字変換

ありそうでなかったエクセル関数、カタカナからローマ字変換をExcel VBAで作成しました。

ヘボン式の変換は神奈川県のパスポートセンターの基準に準拠しています。

コピペしてお使いください。改善できる部分がありましたら教えていただけると嬉しいです。

VBAのソースコード

Function KatakanaToRomaji(a)

x = Array("ニャ", "ニュ", "ニョ", "ビャ", "ビュ", "ビョ", "ミャ", "ミュ", "ミョ", "ギャ", "ギュ", "ギョ", "ジャ", "ジュ", "ジョ", "リャ", "リュ", "リョ", "ヒャ", "ヒュ", "ヒョ", "ティ", "ディ", "ピャ", "ピュ", "ピョ", "キャ", "キュ", "キョ", "チャ", "チュ", "チョ", "シャ", "シュ", "ショ", "ティ", "ディ", "ア", "イ", "ウ", "エ", "オ", "カ", "キ", "ク", "ケ", "コ", "サ", "シ", "ス", "セ", "ソ", "タ", "チ", "ツ", "テ", "ト", "ナ", "ニ", "ヌ", "ネ", "ノ", "ハ", "ヒ", "フ", "ヘ", "ホ", "マ", "ミ", "ム", "メ", "モ", "ヤ", "ユ", "ヨ", "ラ", "リ", "ル", "レ", "ロ", "ワ", "ヲ", "ン", "ガ", "ギ", "グ", "ゲ", "ゴ", "ザ", "ジ", "ズ", "ゼ", "ゾ", "ダ", "ジ", "ヅ", "デ", "ド", "バ", "ビ", "ブ", "ベ", "ボ", "パ", "ピ", "プ", "ペ", "ポ", "ャ", "ュ", "ョ", "ァ", "ィ", "ェ", "ォ", "ヴ", "ヂ")
y = Array("NYA", "NYU", "NYO", "BYA", "BYU", "BYO", "MYA", "MYU", "MYO", "GYA", "GYU", "GYO", "JA", "JU", "JO", "RYA", "RYU", "RYO", "HYA", "HYU", "HYO", "THI", "DHI", "PYA", "PYU", "PYO", "KYA", "KYU", "KYO", "CHA", "CHU", "CHO", "SHA", "SHU", "SHO", "THI", "DHI", "A", "I", "U", "E", "O", "KA", "KI", "KU", "KE", "KO", "SA", "SHI", "SU", "SE", "SO", "TA", "CHI", "TSU", "TE", "TO", "NA", "NI", "NU", "NE", "NO", "HA", "HI", "FU", "HE", "HO", "MA", "MI", "MU", "ME", "MO", "YA", "YU", "YO", "RA", "RI", "RU", "RE", "RO", "WA", "WO", "N", "GA", "GI", "GU", "GE", "GO", "ZA", "JI", "ZU", "ZE", "ZO", "DA", "JI", "ZU", "DE", "DO", "BA", "BI", "BU", "BE", "BO", "PA", "PI", "PU", "PE", "PO", "YA", "YU", "YO", "A", "I", "E", "O", "V", "JI")

Z = a


For i = 0 To UBound(x)

    Z = Replace(Z, x(i), y(i))

Next i

Z = Replace(Z, "ッP", "PP")
Z = Replace(Z, "ッS", "SS")
Z = Replace(Z, "ッT", "TT")
Z = Replace(Z, "ッK", "KK")
Z = Replace(Z, "ッC", "TC")
Z = Replace(Z, "ッH", "HH")

Z = Replace(Z, "YUN", "UN")
Z = Replace(Z, "ー", "-")
Z = Replace(Z, "NB", "MB")
Z = Replace(Z, "NM", "MM")
Z = Replace(Z, "NP", "MP")
Z = Replace(Z, "OO", "O")
Z = Replace(Z, "OU", "O")

KatakanaToRomaji = Z

End Function