• ベストアンサー

確定したカタカナをアルファベットに変換できますか

Excelにカタカナで名前を登録しているのですが、カタカナで入力したものをアルファベットに変換することはできるのでしょうか。 置換だと特定の文字列しかできないですよね。 再変換にするといいんでしょうか。 よろしくお願いします。

noname#1625
noname#1625

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

  • ベストアンサー
  • nishi6
  • ベストアンサー率67% (869/1280)
回答No.1

ユーザー定義関数を作ってみました。 =changeKatakana2Romaji(A1)とか =changeKatakana2Romaji("ヒッチコック")として使います。 すぐできたんですが、投稿すると、半角が全角になったり、必要なスペースが無くなるので影響が出ないようにしたつもりです。 標準モジュールに貼り付けます。 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

noname#1625
質問者

お礼

こんなに詳しい回答をいただけるとは思いませんでした。 ありがとうございます! 早速作ってみます。本当にありがとうございました。

関連するQ&A

  • ATOK 2007のカタカナ変換について

    PCのOSはVista Home Premiumです。 ATOK 2006を使用しておりましたが ATOK 2007の発売を機に購入し本日インストールしました。 ATOK 2006の時はローマ字入力で文字(ひらがな)を入力し 無変換キーを押せばカタカナに変換できたのですが ATOK 2007で同じ操作をすると 「半角アルファベットをそのまま入力します」と出て カタカナに変換できません。 スペースキーを押せばカタカナの候補が出てきますが 今までと同じ使い方(変換方法)の方が慣れているので 無変換キーでカタカナに変換できないのが不便です。 どなたか無変換キーでカタカナに変換出来るやり方が分かる方がいたら教えて下さい。 それともATOK 2007ではそれは出来ないのでしょうか? 宜しくお願いいたします。

  • 無変換キーでのカタカナ変換について

    無変換キーでのカタカナ変換について質問です。 <環境> Windows XP Professional SP3 Microsoft Outlook2007 SP2 <状況> 文字入力はIME Standard 2003を使用しており、 メモ帳やExcel等は無変換キーを1回押すとカタカナに変換されますが、 Outlook2007でメールを入力する際は、 無変換キーを2回押さないとカタカナに変換されません。 どのようにしたら、Outlook2007でも無変換キー1回でカタカナに変換されるのでしょうか。 よろしくお願いいたします。

  • WORDのカタカナ変換について

    WORDを使用時に、入力中の文字をカタカナに変換する場合「無変換キー」を押しているのですが、2回押さないとカタカナに変わりません。 みんなそうなのかと思い会社の周りの人のPCとか自宅のPCとか数十台調べたのですが、全部「無変換キー」一回でカタカナに変わりました。 ちなみに、エクセルやアウトルックエクスプレスでは「無変換キー」一回でカタカナに変わります。 なので、WORD独自の問題なのかな?という気はします。いろいろボタンを触って見ましたが変化はありませんでした。 どなたか分かる方がおられたら教えてください。

  • ひらがなをカタカナに変換する

    jperlではないperlで、ひらがなをカタカナに変換するにはどのようにすればよろしいのでしょうか? 変換文字列はEUCとしてその変換方法を教えてください。 よろしくお願いします。

    • ベストアンサー
    • Perl
  • 半角カタカナを全角カタカナに変換したい

    Windows2000/Microsoft Excel2000です。 入力されている文字列のカタカナが半角になっているのを 全角に一括変換する数式はありますでしょうか? 英数字は半角のまま残したいのですが。 JISを使うと英数字も全角になってしまいます。 ヘルプいただけると大変助かります。

  • 人名を入力し変換すると、第1候補に「カタカナ」が出てくる

    ワード2003とエクセル2003を使っています。 最近、文字を入力し変換すると、第1候補に全角カタカナ、第2候補に半角カタカナが出てくるようになりました。メジャーな名前も珍しい名前も、いつもそうなります。第3候補以下は、きちんと漢字の候補が出てきます。また、人名以外の熟語は一切そのようなことがなく、普通に変換候補が出てきます。 これを直すには、どのようにしたら良いのでしょうか? Microsoft IME スタンダードのプロパティ で、「候補一覧に追加で表示する文字種」のところは、「ひらがな」のチェックボックスにのみチェックを入れていますが、相変わらずカタカナが先に出てきています。

  • かなで書かれた文字をアルファベットに変換できませんか?

    エクセルででも、なんででもいいのですが、かなで書かれた文字をアルファベットに一度に変換できないでしょうか? たとえば、エクセルの関数phonetic を使えば、漢字を仮名に変換できますよね? それと同じように、仮名をアルファベットに変換する方法はないでしょうか? もし、そんな便利なことができたら、とってもうれしいのですが。。 よろしくお願いいたします。m(__)m

  • カナ入力でのアルファベットの変換について

    IMEでカナ入力してアルファベットに変換する時、「A」なら「えい」と入力して変換すると全角の大文字・小文字、半角の大文字・小文字の「A」「a」に変換できますが、「I」は同様に「あい」と入力して変換すると大文字の「I」(全角・半角)にしか変換できません 小文字の「i」を表示するには直接入力か、カナモードのままで「i」入力→F9かF10キーで変換しかないようです 他のアルファベットは全部大文字・小文字変換できるのに「i」のみ大文字にしか変換できない理由を教えてください 単純に不思議に思ったので・・・ お願いします

  • カタカナと半角カタカナの変換について

    Windowsは文字入力後、F7を押すとカタカナに、F8を押すと半角カタカナに変換し、リターンキーで決定します。これになれるとMacもそうしたくなるのですが、ことえりで可能でしょうか?また無理なようでしたらフリーソフトでおすすめなものありましたら教えて下さい。MAC OSは9.22です。

    • ベストアンサー
    • Mac
  • ワード2002において(のみ)無変換を押してカタカナ変換がおかしい?

    いつもお世話になってます。 私の場合、カタカナ変換をする時は文字入力をして 変換中の状態で『無変換』を1回押して、エンターを押しています。 うまく説明できないのですが、word2002においてのみ以下の現象が発生し、元にもどりません。 文字入力(確定前) ↓ 『無変換』を1回押すと、アンダーバーが消える。 ↓ もう一度『無変換』を押すとカタカナに変換(確定)。 ↓ エンターを押すと、(決定ではなく)改行になってしまう。 といった感じです。 この場合、ワードの何かオプションを触ればいいのでしょうか? もしくはIMEを・・・? メールやテキストでやってもこういった現象はおきません。どうかご教授お願いします。 (レスが遅れることがあります。ごめんなさい。)

専門家に質問してみよう