• ベストアンサー

Excel住所録でアルファベットのよみがなを出したい。

Excel2000で住所録を作成(打ち込み)します。「A1」に漢字名前をローマ字入力で作成し「B1」にアルファベット(ローマ字打ちそのまま)のよみがなを出したいのです。 カタカナまではPHONETIC関数で出来たのですがローマ字が出来ません。過去ログでは nishi6さんが http://www.okweb.ne.jp/kotaeru.php3?q=118541で回答されていたのですが、「標準モジュールに貼り付ける」の意味がわかりません。セルに貼り付ける?マクロを使う?どなたか補足または新たに教えていただけませんか?

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

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

『コンパイルエラー:SubまたはFanctionが定義されていません。』のエラーが出るのは、コードが正確に貼り付けられていないからだと思われます。 すべて消去し、下記をもう一度貼り付けてみてください。特に、2つ目の『Public Function KomojiOkikae』をよく確認してください。 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

nakamor
質問者

お礼

1回目に貼り付けたときに、おかしかったようです。最初からやり直したら出来ました。完璧です。ありがとうございました。

その他の回答 (1)

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

懐かしいコードを見ました。標準モジュールへの貼り付け方は、 ツール→マクロ→Visual Basic Editor でVBE画面に移り、挿入→標準モジュール で標準モジュールを挿入します。出てきたコードウインドウに下記マクロをコピーして貼り付けます。 No.118541の ここから ↓ Public Const Roma_Boin = "AIUEO" Public Const Kata_S1 = "AアイウエオKカキクケコSサシスセソTタチツテトNナニヌネノ"  :  :  :   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 ↑ ここまで

nakamor
質問者

お礼

出来ました。完璧です。ありがとうございました。

nakamor
質問者

補足

ありがとうございます。ご本人なんですね! 早速貼り付けました。そして=changeKatakana2Romaji(A1)を「B1」セルにいれたら「コンパイルエラー:SubまたはFanctionが定義されていません。のダイヤログボックスが出ました。もう少し教えていただけませんか?

関連するQ&A

  • Excel:PHONETIC関数でアルファベット・数字を半角にしたい

    Excel2003です。 セル[A2]に文字入力し、セル[G2]に下記数式を設定し、フリガナを半角カタカナで表示させています。 =SUBSTITUTE(SUBSTITUTE(PHONETIC(A2),"(株)",""),"(有),"") ※式中の(株)(有)は本来は記号(機種依存文字)です。 このとき、セル[A2]に全角ひらがな、カタカナ、漢字を入力した場合はセル[G2]には半角カタカナで表示するのですが、全角数字やアルファベットを入力した場合に、セル[G2]にはそのまま全角文字で表示されてしまいます。 これらを半角文字で表示させることは出来ないでしょうか? もちろんひらがな、カタカナ、漢字は従来どおり半角カタカナで表示させつつ、です。 よろしくお願いいたします。

  • アルファベットが入力できなくなりました。

    ひらがな、カタカナ、漢字は入力できますが、アルファベットが突然入力できなくなりました。言語バーは、いつも通りの「A般」の状態です。(いつも、直接入力でローマ字変換しています。) 例えば、アルファベットの「a」のキーを押すと、「チ」になってしまいます。「b」は「コ」になります。どうすれば、元通りになりますか。私のノートPCは、FUJITSUのFMV-BIBLOです。 宜しくお願いします。

  • アルファベットしかうてません

    自分はヤフーなのですが、最近検索するときに、半角/全角ボタンを押してもローマ字変換にならず、どこをどう押してもアルファベットしか出ません。ネットにつなぐ以外なら普通にいくのですがネットにつなぐとローマ字になりません。 どなたかこの症状を直すことができる方は教えてください。 よろしくお願いします。 ※この文はネットではローマ字にできないのでメールの作成のところからコピーして貼り付けています

  • A1のセルにローマ字打ち込みで漢字を入力すると A2のセルにカタカナ表記 A3のセルにローマ字表記をさせたい関数

    タイトルのように 今までは3回 漢字変換 カタカナ変換 ローマ字変換をしていました。 今までの操作を1回で 漢字=A1に、カタカナ=A2に、ローマ字=A3に 表示したいです。  A1のセルにローマ字打ち込んで 漢字の「本村」と変換確定します。  A2のセルにはカタカナ表記をしたいので 関数の「=PHONETIC(A1)」をセットして置いて 「モトムラ」とする事は解っています。 A1に「本村」と変換確定したら A2には「カタカナを」 A3に「MOTOMURA」とローマ字で表記させたいのですが その様な関数を知りたいです。 よろしくお願いします。  

  • アルファベットが入力できない

    日本語入力時はローマ字で入力していたのですが、間違って何かのキーに触れてしまい、アルファベットを入力しようとしてもカタカナ入力になってしまいます。 キーボードの「A」をたたくと「チ」が入力される状態です。 元の通りアルファベットの入力が出来るようにするにはどうしたらいいのでしょうか?よろしくお願いします。

  • 【Excel・並べ替え】かな、アルファベット、数字などの順序

    「Excel」においての「並べ替え」で、文字における昇順、降順をしたときの順序には決まりがあるのでしょうか? また、数字、アルファベット、かな、カタカナ、漢字が一列に混在している列を昇順にしたところ、この順序で並べ替えられていましたが、漢字のあとにさらにカタカナが並べられていました。これはなぜなのでしょうか? また、あるリストをあいうえお順にしたいのですが、上のようにいろいろな文字種類が混在していますと、区分されてしまいますが、あいうえお順にしたい場合にはどうすればよいのでしょうか?その語彙のかな表記を隣の列に足して、それらも並べ替えの枠組みに入れてに実行する…しかないのでしょうか?

  • 屋号にアルファベットは使えますか

     2002年11月以降から、会社名(商号)にローマ字・アラビア数字・カンマなどの記号が使用できるようになったと聞きました。  個人事業の場合の屋号も同様でしょうか? これから開業届をだす予定なのですが、出来れば屋号にアルファベットを使いたいと考えています。(もしだめならカタカナにするつもりです)  アルファベットのつづりにもよるのでしょうが、(過去ログにNTTなど既にある企業と紛らわしいものは不可との回答を見つけました)今考えているのは「Artwork○○○」というものです。ちなみにArtworkは挿絵という意味の英単語です。  詳しい方、どうぞよろしくお願いします。

  • どうしたらできますか?

    EXCEL で漢字をカタカナに変えたいです そこで関数をPHONETICで関数を使うと ある漢字では漢字のまま、また別の字ではカタカナです どうすればできますか?

  • なぜいちいち漢字を聞くんだ???

    カタログが欲しい、申込書を送って欲しい等電話をすると、住所氏名を聞かれるのは当然 しかし、なぜ「漢字はどのような字でお書きしますか?」と聞いてくるのでしょうか??? カタカナ・ひらかな・ローマ字では届かないとでも言いたいのでしょうか?? 間違えが無いよう云々言う人も居ますが であれば、外国人からのエアメールには カタカナはおろかアルファベットしか記載されてないぞ・・・という感じです。 なぜそんなに漢字が知りたいのでしょうか???? 不思議です。

  • 読み仮名をエンターで確定しないで入力する方法

    エクセルで、漢字の読み方テストを作りたいと思っています。読み仮名を入力するとき、エンターで確定しなくても評価できるようにするにはどうしたらよいでしょうか。 ネット上に、漢字テストのページがありました。 http://www.gamedesign.jp/flash/yomi/yomi.html 独自に問題を作成し、児童に出題したいのですが、エクセルで作ることはできないでしょうか。 とくに、読み仮名を入力するとき、エンターを打たなくても採点してくれるところが機能的です。 エクセルでも、確定する前に、入力される読み仮名を取得することができますか。 また、正解の時の大きな赤い○を表示するのはどのようにしたらよいでしょう。 まだ、時間を測定したり、回答待ちのマクロも作成していないので、先の長い話ですがよろしくお願いします。

専門家に質問してみよう