エクセルで、半角カタカナの住所録を全てローマ字に変換したいと思います。
エクセルで、半角カタカナの住所録を全てローマ字に変換したいと思います。
かなり大量に量があるので、一度に簡単に便利に出来たらよいと思い、こちらでも
似たケースを検索したところ、下記のユーザー定義登録が出てきました。
Public Const Roma_Boin = "AIUEO"
Public Const Kata_S1 = "AアイウエオKカキクケコSサシスセソTタチツテトNナニヌネノ"
Public Const Kata_S2 = "HハヒフヘホMマミムメモYヤイユエヨRラリルレロWワイウエヲ"
Public Const Kata_S3 = "GガギグゲゴZザジズゼゾDダヂヅデドBバビブベボPパピプペポ"
Public Function changeKatakana2Romaji(srcMoji As String)
Dim kataMoji As String 'カタカナ文字
Dim RomaMoji As String 'ローマ字
Dim L As Long '文字カウンタ
Dim elm As String '1文字
Dim Pot As Integer '変換テーブルでの位置
Dim wkBoin, wkSiin As String '母音と子音
Dim chgTBL As String '変換テーブル
chgTBL = Kata_S1 & Kata_S2 & Kata_S3
kataMoji = StrConv(srcMoji, vbKatakana + vbWide) '全角カタカナにして『゛゜』を処理
Application.Volatile
For L = 1 To Len(kataMoji) 'カタカナ全角文字の母音と子音を作る
elm = Mid(kataMoji, L, 1): Pot = InStr(chgTBL, elm)
If 0 < Pot And Pot <= 6 Then
wkBoin = Mid(Roma_Boin, Pot - 1, 1): wkSiin = "": elm = wkBoin & wkSiin
ElseIf Pot > 6 Then
wkBoin = Mid(chgTBL, Int((Pot - 1) / 6) * 6 + 1, 1)
wkSiin = Mid(Roma_Boin, (Pot - 1) Mod 6, 1): elm = wkBoin & wkSiin
Else
If elm = "ン" Then elm = "N" '『ン』は特別処理
End If
RomaMoji = RomaMoji & elm
Next
RomaMoji = KomojiOkikae(RomaMoji, "ャ", "YA") '小文字『ャ』の処理
RomaMoji = KomojiOkikae(RomaMoji, "ュ", "YU") '小文字『ュ』の処理
RomaMoji = KomojiOkikae(RomaMoji, "ョ", "YO") '小文字『ョ』の処理
For L = 2 To Len(RomaMoji) '小文字『ッ』の処理
If Mid(RomaMoji, L - 1, 1) = "ッ" Then
Mid(RomaMoji, L - 1, 1) = Mid(RomaMoji, L, 1)
End If
Next
changeKatakana2Romaji = StrConv(RomaMoji, vbNarrow)
End Function
'カタカナ小文字の処理(ャュョ)
Public Function KomojiOkikae(Moji As String, komoji As String, Okikae As String)
Dim kPot As Integer
If InStr(Moji, komoji) > 0 Then
Mid(Moji, InStr(Moji, komoji) - 1, 2) = Okikae
End If
KomojiOkikae = Moji
End Function
ですが、どうしてもうまく実行されません。「プロシージャの外では無効です」という
メッセージが出ました。他の方法でも、構いません。
当方、VBA初心者でして、お手数ですが、「ツールバー→マクロ」というレベルから、
教えていただけると助かります。
どうぞ宜しくお願い致します。
お礼
いまはじめて今回のテクストは気持ち悪いかつ虫酸が走りますことを{受動態{notice}}文末助詞。 sortanerd。 さま。 何らかの血管欠陥あるのは認めざるを得ませんという意見に耳を傾ける必要性も認識の可能性の地平線のこちらがわにあると観測しています{タイムスタンプ午後0923}。 正常な人間は非正常な人間をどういう眼でみているのですか。 。 本気で疑問を投稿するとこうなるのですがじゃあ回線切手のぞみ号停車になりそうなきがしなくもなくなくなくなくなくなくなくなく{n|n∈自然数}。 。 正直言って困惑しています。 学習能力を高めるためには試行錯誤は許容されますは良いですか。 。 noならはっきりno。キエロとご投稿下さいませんかね。 。 おかしいでしょ。 まったくリアルな関係に未知なハンドル同士がいきなり理解し合えるって幻想にみえませんかね。 。 至らない人間ですよ。 。 べつに安楽死できるならリハしてますって。 。 他人様に迷惑かけてくなくたってかかってしまうばあいなのでこうなったら隔離病棟に終身刑がファイナルアンサとなってしまうじたいを避けるためには。 。 txtに頼ってはそんなにいけないことですか。 角へのアドヴェンチュア。 神さま事情。 silencer。 おおるり。 。 ししししつつつつああああままままややややここここよよよよ_終端識別子_
補足
せっかくご回答くださったので、ちょっとさらに甘えてしまいますが質問です。 。 努力は当然として、人生の結果って、努力+運、だとおもっていませんか。 。 ちがいますね。努力かける運、または、努力べき乗運、または努力テトレーション運、、、、、、 。 そんな木がしますけど。誤変換は容赦を。 。 型キャストに固執することは、自然言語をきれいに使いこなすことと、真逆で矛盾ではありませんか。 。 そんなにおかしいのですか。当方は。 。 回答サンプル数が1なのでまったく的外れのこの主張かもしれませんが。 。 なんらかの応答のぞみます。 。 逝ってネ。でもかまいませんので。 。 爆死の引き金は他人になすりたくなります。わたくしは陰険ですか。 。 修正方法のご教示ももらえないのですか。 。 存在価値はないですよ。子供もいないし。扶養家族もいないし。 。 自分が意思決定や執行過程に関わっていないことについては責任持てません。 。 責任義務あっても能力ないし。今。 。 ああぁこの補足も良いの反対の反対のそのまた反対ですか。参考資料@バカボン