Excel2010 英数字にふりがな | ichiのおもちゃ箱
テーマ:
会員の皆さまにパスワードを配布することになりました
パスワードは既に他の方が作成して下さり
Excelの表にまとめてあります

が、読みがないイジイジ

一覧になっていると、小文字のエルなのか大文字のアイなのか
判断はつきますが、ひとつだけ渡されたらわかりにくいむんっ
特に大文字のオーとゼロはもはや判断不能・・・くすん

これでは問い合わせの電話の嵐は目に見えている泣

一つ一つ手打ちするのには時間がかかり過ぎて
皆さんがお帰りになられてしまううーん
たすけて~グーグル先生~~~~~

という事で検索をしたら「VBA」で出来るらしく
参考にさせて頂いたサイトさんのをコピペしたら出来ましたグー

参考URL:http://okwave.jp/qa/q1263072.html

今回配布するパスワードには数字も含まれているので
先ずは、書式設定でパスワードが入力されている列を文字列に変換

おおおおお、出来たバンザイ 何とか間にあいました ありがたや~祈

で、どこかに行っちゃうと悲しいので
ごめんなさい KenKen_SPさん転記させてください祈

*:..。o○☆゚・:,。*:..。o○☆*:..。o○☆゚・:,。*:..。o○☆*:..。o○☆゚・:,。*:..。o○☆
  手順
*:..。o○☆゚・:,。*:..。o○☆*:..。o○☆゚・:,。*:..。o○☆*:..。o○☆゚・:,。*:..。o○☆

ファイルは既に開いているものとします
また、Excel2007でも試してみましたが出来ました
  1. パスワードが入力されているセルを文字列に指定します
    [書式設定]-[文字列]

    e2010_huri01


  2. パスワードが入力されているのセルを選択します

    e2010_huri02


  3. [開発]タブをクリックします

    e2010_huri03


    「開発」タブが表示されていない場合には
    1. [Officeボタン]をクリック

      e2010_huri03_01


    2. [Excelのオプション]をクリック
    3. 「基本設定」にある[開発タブをリボンに表示する]をクリック
    以上で「開発」タブが表示されます

  4. [Visual Basic]をクリックします

    e2010_huri04


  5. パスワードが入力されているシートを選択します
    (ここでは[Sheet1]をクリックします)

    e2010_huri05

    ※Sheet1(テストパスワード)のカッコ内はシート名です
     シート名を変更していない場合にはSheet1(Sheet1)となります

  6. [コードの表示]をクリックします

    e2010_huri06


  7. 下記のプロシージャをコピペします

    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

    ※「9」と「Q」を「キュウ」と「キュー」と使い分けたい場合には
    『strYomi = strYomi & "ケイ,エル,エム,エヌ,オウ,ピー,キュウ,アール,エス,ティ,"』の
    「キュウ」を「キュー」変更するとできます

    e2010_huri07


  8. [ユーザーフォームの実行]をクリックします

    e2010_huri08


    【パスワードを編集した時の注意】
    1~8番までの手順を行うことで、PHONETIC 関数で表示する事が出来ます
    編集を行ったら必ずマクロを実行して下さい

  9. ふりがなを表示させるセルを選択し PHONETIC 関数を入力します

    e2010_huri09


後は、必要とするセルまで関数式をコピペするだけ

e2010_huri10


このExcelブックにはVBAを入れてあるので
上書き保存を行うと「次の機能はマクロなしのブックに保存できません」と
メッセージが表示されます

e2010_huri11


「いいえ」を選択して
ファイルの種類を「Excelマクロ有効ブック」にし保存を行うと
後々追加があった時に活用できます

どうしても、入力された文字の上に表示したい場合には
「ふりがなの編集」でコピペするしかないのかな 

参考URL:http://oshiete.goo.ne.jp/qa/6730534.html