人に聞けない痔の悩み、これでスッキリ >>

WORDかEXCELで、アルファベットや数字にフリガナを振る方法をご教示ください。
L → エル
O → オー
0 → ゼロ
1 → イチ
などです。

このQ&Aに関連する最新のQ&A

A 回答 (2件)

単語単位での読み仮名でしたら、EXCELやWORDでは手作業でやるしかありません。



文字単位でいいですか?例えば、EXCEL という語なら

× エクセル
○ イー エックス シー イー エル

ならVBAで出来ますが。

読み仮名をふるセル範囲を選択し、下記マクロを実行します。ちなみに数字の場合には、先に文字列にしておく必要があります。完了したら、EXCELのPHONETIC関数で読み仮名を表示できます。



Sub 英数字フリガナ()
  
  Dim strTarget$, strYomi$, strTmp$, Buf$
  Dim rngCurrent   As Range
  Dim aryYomi(35, 1) As String
  Dim tmp
  Dim i As Long, j  As Long
  
  strTarget = "0123456789abcdefghijklmnopqrstuvwxyz"
  strYomi = "ゼロ,イチ,ニ,サン,ヨン,ゴ,ロク,ナナ,ハチ,キュウ,"
  strYomi = strYomi & "エイ,ビー,シー,ディ,イー,エフ,ジー,エイチ,アイ,ジェイ,"
  strYomi = strYomi & "ケイ,エル,エム,エヌ,オウ,ピー,キュウ,アール,エス,ティ,"
  strYomi = strYomi & "ユウ,ブイ,ダブリュ,エックス,ワイ,ゼット"

  tmp = Split(strYomi, ",")
  For i = 1 To 36
    aryYomi(i - 1, 0) = Mid(strTarget, i, 1)
    aryYomi(i - 1, 1) = tmp(i - 1)
  Next i
  For Each rngCurrent In Selection
    If Not IsEmpty(rngCurrent) Then
      Buf = CStr(Trim(rngCurrent.Value))
      Buf = StrConv(Buf, vbNarrow)
      Buf = StrConv(Buf, vbLowerCase)
      strYomi = ""
      For i = 1 To Len(Buf)
        strTmp = Mid(Buf, i, 1)
        For j = 1 To 36
          If strTmp = aryYomi(j - 1, 0) Then
            strYomi = strYomi & aryYomi(j - 1, 1) & " "
            Exit For
          End If
        Next j
      Next i
      rngCurrent.Characters.PhoneticCharacters = Trim(strYomi)
    End If
  Next rngCurrent

End Sub
    • good
    • 2
この回答へのお礼

ありがとうございます。
助かりました。

お礼日時:2005/03/11 20:21

Wordであれば、書式に「ルビ」


Excelであれば、書式に「ふりがな」
があると思います。こちらを利用しましょう。
    • good
    • 0
この回答へのお礼

質問が曖昧でした。
自動でフリガナをふることができれば
という意味でした。

お礼日時:2005/03/11 14:34

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qローマ字→カタカナへ変換(エクセルで)


 KOIZUMI→コイズミ
 ローマ字表記の氏名を カタカナ表記へ変換したい。
 良い手手立ては あるでしょうか。
 教えて下さい。

Aベストアンサー

こんにちは。

これは、ユーザー定義関数というもので、標準モジュールに書くのは、もう既にお分かりになっているかと思います。そして、標準モジュールに貼り付けた後は、一般の関数と同じように使えます。(ただし、貼り付けたブックのみです)

ですから、この中身のコードは忘れてください。

【http://park11.wakwak.com/~miko/Excel_Note/15-03_celldata.htm#15-03-57】

ワークシートで使うときには、一般の関数のように、セル上に、
A1 に、ローマ字が入っているとしたら、

=roma2kana(A1)

だけで、よいのです。そうすると、カタカナになるように設定されています。

>◆私が何か勘違いしていること有るのだろうかと思ったりしています。

ご期待とは違うものであったりしませんか?その点は、大丈夫ですか?

Qふりがなをアルファベット化する関数ってありますか?

A列に名前、B列にPHONETICで取り出したヨミがあります。
C列にBをアルファベット化したものを反映する関数はありますか?

(A)山田 花子→(B)ヤマダ ハナコ→(C)YAMADA HANAKO
としたいのです。
欲を言えば、「佐藤陽子」さんはSATOU YOUKOではなく、
SATO YOKOになると最高なんですが・・・。

よろしくお願いします。

Aベストアンサー

ricky223 さん、こんばんは。

#さとう ようこ→sato^ yoko^
これは、私の記述間違いです。

>なぜか例外的に「イノウエ」さんは Ino^e としています。
たぶん、間違いから生じたものだと思います。
inoueにするためには、私のマクロでも、「いの'うえ」にしないと、inoueになりません。

ともかく、そろそろそ公開します。これは、付けたしの上に、オフィシャルなヘボン式とは違うものだということで、私自身としては、このマクロの扱いは、ここだけのものにすることにしました。

ここに公開した以上は、特に著作権を主張はできないけれども、まさか、こんなつぎはぎだらけのみっともないコードでは、私が作りましたとも言えないでしょう。(^^;

ユーザー定義関数と、マクロとに分けました。なるべく、<標準モジュール>に登録してください。RomajiHenkan マクロから使えば、右となりにローマ字が出力されます。一部は漢字も変換するはずです。ユーザー定義関数のままですと、さすがに重いです。

HTML上に出す関係で、半角空白のずれが生じる可能性があります。
最後の部分は、
*,^,^, , "
*,^,^,半角空白, 半角空白"

です。

'------------------------------------------------------------------
Option Explicit
Private Const Roman As String = _
"kyu,kyo,shu,sho,chu,cho,hyu,hyo,pyu,pyo,byu,byo,myu,myo,ryu,ryo," & _
"gyu,gyo,ju,jo,ju,jo,nyu,nyo,kori,gori,tori,dori, " & _
"kya,gya,sha,ja,cha,ja,nya,hya,bya,pya,mya,rya," & _
"kyu,gyu,shu,ju,chu,ju,nyu,hyu,byu,pyu,myu,ryu," & _
"kyo,gyo,sho,jo,cho,jo,nyo,hyo,byo,pyo,myo,ryo," & _
"fa,fi,fe,fo,kye,gye,she,je,pye,bye,mye,rye,dhi," & _
"o^,ko^,go^,so^,zo^,to^,do^,no^,ho^,po^,bo^,mo^,yo^,ro^," & _
"a,ka,ga,sa,za,ta,da,na,ha,pa,ba,ma,ya,ra,wa,xya,xa,n'," & _
"i,ki,gi,shi,ji,chi,ji,ni,hi,pi,bi,mi,wi,ri,xi,xyu,xo," & _
"u,ku,gu,su,zu,tsu,zu,nu,fu,pu,bu,mu,yu,ru,xu,xyo," & _
"e,ke,ge,se,ze,te,de,ne,he,pe,be,me,we,re,xe," & _
"o,ko,go,so,zo,to,do,no,ho,po,bo,mo,yo,ro,o,*,^,^, , "
Private Const Kana As String = _
"きゅう,きょう,しゅう,しょう,ちゅう,ちょう,ひゅう,ひょう,ぴゅう,ぴょう,びゅう,びょう,みゅう,みょう,りゅう,りょう," & _
"ぎゅう,ぎょう,じゅう,じょう,ぢゅう,ぢょう,にゅう,にょう,こおり,ごおり,とおり,どおり," & _
"きゃ,ぎゃ,しゃ,じゃ,ちゃ,ぢゃ,にゃ,ひゃ,びゃ,ぴゃ,みゃ,りゃ," & _
"きゅ,ぎゅ,しゅ,じゅ,ちゅ,ぢゅ,にゅ,ひゅ,びゅ,ぴゅ,みゅ,りゅ," & _
"きょ,ぎょ,しょ,じょ,ちょ,ぢょ,にょ,ひょ,びょ,ぴょ,みょ,りょ," & _
"ふぁ,ふぃ,ふぇ,ふぉ,きぇ,ぎぇ,しぇ,じぇ,ぴぇ,びぇ,みぇ,りぇ,でぃ," & _
"おう,こう,ごう,そう,ぞう,とう,どう,のう,ほう,ぽう,ぼう,もう,よう,ろう," & _
"あ,か,が,さ,ざ,た,だ,な,は,ぱ,ば,ま,や,ら,わ,ゃ,ぁ,ん," & _
"い,き,ぎ,し,じ,ち,ぢ,に,ひ,ぴ,び,み,ゐ,り,ぃ,ゅ,ぉ," & _
"う,く,ぐ,す,ず,つ,づ,ぬ,ふ,ぷ,ぶ,む,ゆ,る,ぅ,ょ," & _
"え,け,げ,せ,ぜ,て,で,ね,へ,ぺ,べ,め,ゑ,れ,ぇ," & _
"お,こ,ご,そ,ぞ,と,ど,の,ほ,ぽ,ぼ,も,よ,ろ,を,ヴ,ー,-, , "

Function HKana2Roman(ByVal myString As String)
 Dim RomanArray As Variant
 Dim KanaArray As Variant
 Dim rtn As Variant
 Dim KitsuOnFlg As Boolean
 Dim nn As Variant, mm As Variant
 Dim i As Long, c As Variant
 Dim buf As String, ltr As String, mylocate As Integer
 RomanArray = Split(Roman, ",")
 KanaArray = Split(Kana, ",")
 myString = StrConv(myString, vbWide)
 myString = StrConv(myString, vbHiragana)
 For i = 1 To Len(myString)
  ltr = Mid$(myString, i, 3)
  rtn = Application.Match(ltr, KanaArray, 0)
  If Not IsError(rtn) Then
   If KitsuOnFlg Then
   buf = buf & Mid$(RomanArray(rtn - 1), 1, 1) & RomanArray(rtn _
      - 1)
'促音ccの訂正
   If InStr(buf, "cc") > 0 Then
     buf = Replace$(buf, "cc", "tc")
    End If
   KitsuOnFlg = False
   Else
   buf = buf & RomanArray(rtn - 1)
   End If
   i = i + 2
   Else
   ltr = Mid$(myString, i, 2)
   If ltr Like "っ?" Then
    KitsuOnFlg = True
    Else
    rtn = Application.Match(ltr, KanaArray, 0)
    If Not IsError(rtn) Then
     If KitsuOnFlg Then
      buf = buf & Mid$(RomanArray(rtn - 1), 1, 1) & RomanArray(rtn _
      - 1)
      '促音ccの訂正
      If InStr(buf, "cc") > 0 Then
       buf = Replace$(buf, "cc", "tc")
      End If
      KitsuOnFlg = False
      Else
      buf = buf & RomanArray(rtn - 1)
     End If
     If i + 1 = Len(myString) Then Exit For
     i = i + 1
     Else
     ltr = Mid$(myString, i, 1)
     rtn = Application.Match(ltr, KanaArray, 0)
     If Not IsError(rtn) Then
      If KitsuOnFlg Then
       buf = buf & Mid$(RomanArray(rtn - 1), 1, 1) & _
       RomanArray(rtn - 1)
       KitsuOnFlg = False
       Else
       buf = buf & RomanArray(rtn - 1)
      End If
     End If
    End If
   End If
  End If
 Next i
 'んのチェック1
 Do
 If InStr(buf, "'") > 0 Then
 mylocate = InStr(mylocate + 1, buf, "'")
  If Mid(buf, mylocate + 1, 1) Like "[kstnhmyrwcfgzjdbp]" Then
   buf = Replace(buf, "'", "", 1, 1)
  End If
  If Mid(buf, mylocate + 1, 1) = "" Or Mid(buf, mylocate + 1, 1) = " " Then
   buf = Replace(buf, "'", "", 1, 1)
   Exit Do
  End If
 End If
 Loop Until InStr(mylocate + 1, buf, "'") = 0
 'んのチェック2
 nn = Array("nb", "nm", "np")
 mm = Array("mb", "mm", "mp")
 For i = LBound(nn) To UBound(mm)
  If InStr(buf, nn(i)) > 0 Then
   buf = Replace(buf, nn(i), mm(i))
  End If
 Next i
 '母音の例外長音
 For Each c In Array("a", "i", "u", "e", "o")
  If buf Like "*" & c & c & "?*" Then
  buf = Replace(buf, c & c, c & "^", 1)
  End If
 Next c
 HKana2Roman = buf
End Function
'----------------------------------------------------------
Sub RomajiHenkan()
Dim rng As Range
Dim c As Object
Dim buf As String
Dim myPhone As String
Set rng = Selection 'マウスで文字を選択
For Each c In rng
 myPhone = WorksheetFunction.Phonetic(c)
 If myPhone Like "[ぁ-ン]+" Then
   c.Offset(, 1).Value = HKana2Roman(myPhone)
 Else
   myPhone = Application.GetPhonetic(myPhone)
   c.Offset(, 1).Value = HKana2Roman(myPhone)
 End If
Next
End Sub

ricky223 さん、こんばんは。

#さとう ようこ→sato^ yoko^
これは、私の記述間違いです。

>なぜか例外的に「イノウエ」さんは Ino^e としています。
たぶん、間違いから生じたものだと思います。
inoueにするためには、私のマクロでも、「いの'うえ」にしないと、inoueになりません。

ともかく、そろそろそ公開します。これは、付けたしの上に、オフィシャルなヘボン式とは違うものだということで、私自身としては、このマクロの扱いは、ここだけのものにすることにしました。

ここに公開した以...続きを読む

Qアルファベットの会社名のふりがなの書き方を教えてください。

会社名がアルファベットのふりがなは、どのように書くのでしょうか?

NTTCommunications株式会社
ふりがな1:えぬてぃてぃこみゅにけーしょんずかぶしきがいしゃ
ふりがな2:NTTCommunicationsかぶしきがいしゃ

NEC株式会社
ふりがな1:えぬいーしーかぶしきがいしゃ
ふりがな2:NECかぶしきがいしゃ

CM企画課
ふりがな1:しーえむきかくか
ふりがな2:CMきかくか

Aベストアンサー

たしか法人登記には会社名(商号)の読み方を書く必要がなかったような気がしますが、税務署に提出する会社設立届にはふりがな欄がありますので、そこに書いたふりがなが正式かつ正確な読み方といえるでしょう。
しかし、その企業の看板や印刷物にふりがなが振られていることは通常ないので、正式な読み方を確かめるには、個々に問い合わせるか、各種企業年鑑・名鑑や会社四季報の類、あるいはネット上の企業情報を調べるしかないと思います。

ネット上では、たとえば『会社四季報』を出している東洋経済新報社の「企業データバンク」を漢字で検索すると、ふりがなが載っています(ひらがなでも検索可)。
→http://www.toyokeizai.net/data/
ただし、ここに掲載された会社名が正式な商号とは限らないので注意が必要です。
たとえば、
 「JT」 (じぇいてぃ) Japan Tobacco
 「NEC」 (えぬいーしー) NEC Corp.
 「KDDI(株)」 (けいでぃーでぃーあい) KDDI CORPORATION
 「(株)NTTドコモ」 (えぬてぃてぃどこも) NTT DoCoMo,Inc.
それぞれの正式社名は「 」内の通りです。
 JT : 「日本たばこ産業株式会社」 (にほんたばこさんぎょう) Japan Tobacco Inc.
 NEC : 「日本電気株式会社」 (にっぽんでんき/にほんでんき?) NEC Corporation
 KDDI : 「KDDI株式会社」 (けいでぃーでぃーあい) KDDI Corporation
 NTTドコモ : 「株式会社エヌ・ティ・ティ・ドコモ」 (えぬてぃてぃどこも) NTT DoCoMo Inc.

これを見てお分かりかと思いますが、ふだん用いられているローマ字名称は、いわゆる商標・ブランドネーム・コミュニケーションネームなどと呼ばれるものを使用している場合が少なくありません。
商号はローマ字のカタカナ読みでも、ふだんはローマ字表記を使っている会社もあります。また、平成14年11月以降は商号にローマ字が使えるようになったので、商号をローマ字に正式変更したり最初からローマ字で登記した会社も増えています。いずれにせよ、ふだんブランド名を使っている会社を、たとえば「NEC株式会社」「JT株式会社」などと商号のように書くのは間違いといえます。

ということで、ふりがな(読み方)の問題以前に、正式な会社名を確認しておくことが大切です。とくに正確さを求めないプライベートなデータは別として、ビジネスで使用する場合は会社名の誤表記は大変な失礼に当たりますので、正確を期するに越したことはありません。
なお、英字(ローマ字)のふりがな(読み方)は、長音や拗音の表記も要注意です。A(えー/えい)、D(でぃー/でぃ)、K(けい/けー)、J(じぇー/じぇい)、T(てぃー/てぃ)など、会社によって表記が違う場合があります。
ローマ字読みの場合も同様です。
 「JUKI株式会社」 (じゅーき) ×じゅうき
 「HOYA株式会社」 (ほーや) ×ほうや
 「CHOYA株式会社」 (ちょーや) ×ちょうや
数字の読み方も要注意。
 「株式会社レオパレス21」 (れおぱれすにじゅういち)
 「株式会社Human21」 (ひゅーまんにじゅういち)
 「株式会社センチュリー21・ジャパン」 ( せんちゅりーとうえんていわん・じゃぱん)
 「21LADY株式会社」 (とぅえにーわんれいでぃ)

アルファベット以前に、漢字の読み方という根本的な問題もあります。清濁の区別や「にほん/にっぽん」の違いなども、けっこう悩ましいものです。
 「日本水産株式会社」 (にっぽんすいさん)
 「株式会社日本航空」 (にっぽんこうくう)
 「日本テレビ放送網株式会社 」 (にほんてれびほうそうもう)
 「日本マクドナルドホールディングス株式会社」 (にほんまくどなるどほーるでぃんぐす)
「日本電気株式会社」は、「にっぽん/にほん」のどっちが正式か不明です。昔は本社に電話すると「えぬいーしー・にっぽんでんきでございます」と言っていたような気もしますが、今は「えぬいーしーでございます」としか言いません。マスコミの表記も「NEC」に統一されており、商号の「日本電気」は公式文書以外は使われなくなりました。

それはともかく、
ふりがな(読み方)は、人間の耳には多少違っても識別可能ですが、データベースとして五十音順に並べたり検索するときは無視できない問題です。もしそういう用途に使うのであれば、あらかじめ充分に調査、検討しておくことをお勧めします。

たしか法人登記には会社名(商号)の読み方を書く必要がなかったような気がしますが、税務署に提出する会社設立届にはふりがな欄がありますので、そこに書いたふりがなが正式かつ正確な読み方といえるでしょう。
しかし、その企業の看板や印刷物にふりがなが振られていることは通常ないので、正式な読み方を確かめるには、個々に問い合わせるか、各種企業年鑑・名鑑や会社四季報の類、あるいはネット上の企業情報を調べるしかないと思います。

ネット上では、たとえば『会社四季報』を出している東洋経済新報...続きを読む

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

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

よろしくお願いいたします。m(__)m

Aベストアンサー

以前、似た質問に回答しました。

No.806286 質問:Excelで五十音順に並べ替えたい
http://oshiete1.goo.ne.jp/kotaeru.php3?q=806286

No.8の手順3)で、

kakasi -Kj -Jj

を実行すると、

(株)アイウエオ
(株)イノウエ
(株)ウラシマ
(株)阿部商店
(株)石井商店
(有)アイウエオ

(kabu)aiueo
(kabu)inoue
(kabu)urashima
(kabu)abeshouten
(kabu)ishiishouten
(ari)aiueo

と変換できました。

参考URL:http://kakasi.namazu.org/, http://oshiete1.goo.ne.jp/kotaeru.php3?q=806286

Qexcel 2010で数字にふりがなを付けたい。

excel 2010で数字にふりがなを付けることができません。
(例:5の上にゴ)
漢字、ひらがなにはふりがなが付けられます。

どなたかやり方をご存知の方がいましたら教えてください。
よろしくお願いします。

Aベストアンサー

> やはり数字には直接ふり仮名は付けられないのですね。
> 文字で入力して改行するのですね。

違います。
まず、セルを書式設定で「文字列」にします。
それから数字を入力します。
その後、「ふりがな」の編集で、「ゴ」を入力します。

QExcelで英数字をカナに変換する方法は?

ほかのアプリケーションからデータをインポートし、それをあいうえお順に並べ替えをしたいのですが、一部のデータがアルファベット表示になり正しく並べ替えができません。Excelのデータをアルファベット表示からカナ表記に変える方法(関数?)をおしえてください!

Aベストアンサー

ローマ字→かな(カナ、半角カナ)変換を作ってみました。
変換部分より変換定義部分が長く、かなり長くなりました。質問内容から逸脱して、ローマ字文書を変換するVBAになった嫌いがあります。変換定義をシートに登録すれば、20行くらいで書けるようです。

 =fncRomaji_To_Kana(A1,1) のようにして使います。A1はローマ字が入力されているセル、2つ目の引数は、

 1:ローマ字部分を半角カタカナで表示
 2:ローマ字部分を全角カタカナで表示
 3:ローマ字部分を全角ひらがなで表示

IME2000の入力(Helpのローマ字とかな対応一覧)とほぼ一致した変換をします。(laなどを除外)
IMEにない入力も追加できます。(HWA=ふぁ など)
長いローマ字文書で試しましたが、長音(例:RO-MAとROMA)はしょうがないですかね(Excel2000)

下記を標準モジュールを挿入して貼り付けます。時間がたちましたが参考に回答します。何かの役に立つかもしれません。

Dim Ro(300) As String, Ka(300) As String 'ローマ字、カナ
Dim cot As Integer            '変換する個数カウンタ
Dim elm As String             '変換定義文字列
Dim rm As String, kn As String      'ローマ字の先頭、カナの先頭
Dim ps As Integer             '変換しない箇所
Dim L As Integer, m As Integer      'カウンタ

Public Function fncRomaji_To_Kana(myRange As Range, chgMode As Integer)
  Dim moji As String   'セルの文字
  Dim pot As Integer   '検索した位置
  Dim okikae As String  '置き換えるカナ文字
  Dim okikaeTU As String '置き換えるカナ文字の『っ』

  cot = 0
  Call HenkanSet     '変換定義を作成

  moji = myRange
  For L = 1 To cot    '照合開始してカナに置き換え
    pot = Kensaku(moji)
    While pot > 0
      Select Case chgMode
        Case 1: okikae = StrConv(Ka(L), vbKatakana + vbNarrow): okikaeTU = Chr(175)
        Case 2: okikae = StrConv(Ka(L), vbKatakana + vbWide): okikaeTU = "ッ"
        Case 3: okikae = StrConv(Ka(L), vbHiragana + vbWide): okikaeTU = "っ"
      End Select
      moji = Left(moji, pot - 1) & okikae & _
          Right(moji, Len(moji) - (pot + Len(Ro(L)) - 1))
      If pot > 1 Then
        Select Case Mid(moji, pot - 1, 1)
          Case "N", "n", "N", "n"
          Case Else  'N以外で前の文字が同一子音なら『っ』にする
            If StrConv(Mid(moji, pot - 1, 1), _
              vbUpperCase + vbNarrow) = Left(Ro(L), 1) Then
              Mid(moji, pot - 1, 1) = okikaeTU  '『っ』を調べる
            End If
        End Select
      End If

      pot = Kensaku(moji)  '次の検索
    Wend
  Next
  fncRomaji_To_Kana = moji
End Function

Public Function Kensaku(mj As String)  'テーブルのローマ字があるか調べる
  Dim p As Integer  '検索文字位置(ローマ字が大小文字、半角、かな、カナ、先頭大文字の組み合わせ)
  p = InStr(mj, Ro(L))
  If p = 0 Then p = InStr(mj, StrConv(Ro(L), vbLowerCase))
  If p = 0 Then p = InStr(mj, StrConv(Ro(L), vbWide))
  If p = 0 Then p = InStr(mj, StrConv(Ro(L), vbLowerCase + vbWide))
  If p = 0 Then p = InStr(mj, StrConv(Ro(L), vbProperCase))
  If p = 0 Then p = InStr(mj, StrConv(Ro(L), vbLowerCase + vbProperCase))
  If p = 0 Then p = InStr(mj, StrConv(Ro(L), vbWide + vbProperCase))
  If p = 0 Then p = InStr(mj, StrConv(Ro(L), vbLowerCase + vbWide + vbProperCase))
  Kensaku = p
End Function

Public Sub HenkanSet() 'ローマ字とかなの対比テーブルを作る
  Dim sDef As String  '変換定義用文字列
  sDef = "きKY0しSY0しSH2ちTY0ちCY0にNY0ひHY0ふFY0みMY0りRY0"
  sDef = sDef & "ぎGY0じZY0じJY0ぢDY0びBY0ぴPY0てTH0ちCH2でDH0じJ_2"
    Call MakeTable1(sDef, "ゃぃゅぇょ")
  sDef = "うWH3くWH0すSW0とTW0ふFW0ぐGW0どDW0つTS3ふHW0ふF_3"
    Call MakeTable1(sDef, "ぁぃぅぇぉ")
  sDef = "KかきくけこSさしすせそTたちつてとNなにぬねのHはひふへほ"
  sDef = sDef & "MまみむめもYやいゆえよRらりるれろWわいうえをGがぎぐげご"
  sDef = sDef & "ZざじずぜぞDだぢづでどBばびぶべぼPぱぴぷぺぽ_あいうえお"
    Call MakeTable2(sDef)
  cot = cot + 1: Ka(cot) = "ん": Ro(cot) = "NN"
  cot = cot + 1: Ka(cot) = "ん": Ro(cot) = "N"
End Sub

  '『きゃ』や『くぁ』などの対比テーブルを作る。定義は4文字単位
  Public Sub MakeTable1(iDef As String, Sokuon As String)
    For L = 1 To Len(iDef) Step 4
      elm = Mid(iDef, L, 4)
      rm = Mid(elm, 2, 2): If Right(rm, 1) = "_" Then rm = Left(rm, 1)
      kn = Left(elm, 1): ps = Val(Right(elm, 1))
      For m = 1 To 5  'あ段からお段まで
        cot = cot + 1: Ro(cot) = rm & Mid("AIUEO", m, 1)
        Ka(cot) = kn
        If m <> ps Then  'ゃぁなどを付ける
          Ka(cot) = Ka(cot) & Mid(Sokuon, m, 1)
        End If
      Next
    Next
  End Sub

  '『あ』や『が』などの対比テーブルを作る。定義は6文字単位
  Public Sub MakeTable2(iDef As String)
    For L = 1 To Len(iDef) Step 6
      elm = Mid(iDef, L, 6)
      rm = Left(elm, 1): If rm = "_" Then rm = ""
      For m = 1 To 5  'あ段からお段まで
        cot = cot + 1: Ro(cot) = rm & Mid("AIUEO", m, 1)
        Ka(cot) = Mid(elm, m + 1, 1)
      Next
    Next
  End Sub

ローマ字→かな(カナ、半角カナ)変換を作ってみました。
変換部分より変換定義部分が長く、かなり長くなりました。質問内容から逸脱して、ローマ字文書を変換するVBAになった嫌いがあります。変換定義をシートに登録すれば、20行くらいで書けるようです。

 =fncRomaji_To_Kana(A1,1) のようにして使います。A1はローマ字が入力されているセル、2つ目の引数は、

 1:ローマ字部分を半角カタカナで表示
 2:ローマ字部分を全角カタカナで表示
 3:ローマ字部分を全角ひらがなで表示

IME2000の入力...続きを読む

QExcel PHONETIC関数で振り仮名でなく、漢字がそのままでてくる

こんにちは。

エクセルで人名のふりがなが欲しいので、PHONETIC関数でとりだそうとしました。ところが名前の漢字がそのまま表示されます。
もとの名前の漢字が、セルにインプットしたものでなく、他からコピペしたものなので、それがいけないのでしょうか?

よろしくお願いします。

Aベストアンサー

>セルにインプットしたものでなく、他からコピペしたものなので、それがいけないのでしょうか<
そのとおり、エクセルでは、セルに入力したときの読み情報をそのまま記憶しています。したがって、読みを入力しない漢字はそのまま表示されます。

Excel2003の場合
書式 → ふりがな → 編集でふりがなを編集できます。
また、編集の時に設定でカタカナ、ひらがな、配置等を設定できます。

Q【EXCEL】カナ、ひらがなを英字変換したいのですが

EXCELのセルに書かれている

カタカナ、及びひらがなを英字(アルファベット)に変換する関数はありますでしょうか。関数でなくとも、英字変換できる手段があれば教えてください。

宜しくお願い致します。

Aベストアンサー

探してみたらこういうのがありました。

ローマ字関数(アドイン)
本ソフトは、かな文字をローマ字に変換するユーザー定義関数および一括変換ソフト
http://www.vector.co.jp/soft/win95/business/se364260.html

KIroumazi(ロ-マ字変換)
http://www2s.biglobe.ne.jp/~iryo/2vba/s2vba15.html

QEXCEL2007(英語版)でふりがなの入力方法

EXCEL2007 英語版を使っています。
セル内にふりがなを表示させたいのですが、どうやったらよいでしょう。

Aベストアンサー

#2の回答者です。

#2の私の回答にははっきりしていない部分がありました。

ホームのところで、日本語を選択すれば、Phonetic ガイドは出てきても良さそうですが、出ないとすればね以下のようにするしかないか、と思います。

もし、設定済みでしたら、以下は無視してください。
-------------------------------------------
スタート側のLaguague Setting で変更した後に、
Office Excel の左上の丸ボタンの中の、Popular(左) の
Personalize your copy of Microsoft Office の Choose the languages
のLangauge Settings で、
Display Microsoft Office menus anddialog boxes in:
日本語を選びます。
そしてExcel を再起動した後に、日本語に変わっているはずです。
-------------------------------------------
(スタートメニュー側とExcel側の両方、言語設定は必要なはずです。)

そうすると、リボンが日本語に変わります。
そこで、そうしたら、Excel の上部の▼のクイックアクセス・ツールバーのカスタマイズの
オプションの中の、[その他のコマンド(more command)]をクリックし、
[コマンドの選択]の[ホーム]から、
ふりがなに関係するコマンドボタンを出してしまえば、Phonetic ガイドが使えるのではないでしょうか。

#2の回答者です。

#2の私の回答にははっきりしていない部分がありました。

ホームのところで、日本語を選択すれば、Phonetic ガイドは出てきても良さそうですが、出ないとすればね以下のようにするしかないか、と思います。

もし、設定済みでしたら、以下は無視してください。
-------------------------------------------
スタート側のLaguague Setting で変更した後に、
Office Excel の左上の丸ボタンの中の、Popular(左) の
Personalize your copy of Microsoft Office の Choose the langua...続きを読む

QPHONETIC関数でフリガナが表示されない

本の付録のエクセルデータの名簿に
フリガナ表示をさせてみたくなり
エクセルPHONETIC関数を使ってみたのですが
フリガナが表示されません。

表示されたのはフルガナではなく、元の漢字で表示されました。
PHONETIC関数は?と思い
求めたセルをクリックするとPHONETIC関数が入っていましたが・・

もしやと思い
欄外に新たに氏名を入力して
PHONETIC関数を求めるとフリガナ(PHONETIC関数)が表示がされます。

一度作成したデータなどを開いて
フリガナ表示はできないのでしょうか?

まるでロックがかかったみたいな感覚なのですが。

Aベストアンサー

エクセル以外のアプリケーションで作成されたデータをエクセルに取り込んでもふりがな情報が無いため、ご質問のような状況が発生します。

そのようなデータに一括してふりがな情報を付けたいなら、対象範囲を選択してからAlt+F11でVBEを起動し、イミディエイトウィンドウ(表示されていない場合はCtrl+G)に「selection.setphonetic」と入力してEnterしてみて下さい。

ただし上記のふりがなはエクセルが自動的に作成したものなので、2通り以上の読みがあるような場合は正しいふりがなになっていない可能性もありますので、マクロ実行後、間違いが無いか確認してください。
ふりがなを修正したい場合はAlt+Shift+↑キーで編集してください(1つだけのふりがなを付けるならこの操作でOK)。


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング