[[20060818122159]] 『ふりがなをふる』(じゃがいも) >>BOT

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『ふりがなをふる』(じゃがいも)

いつも有難うございます。

例えば 山田酒店 ⇒ ヤマダサケテン

とふりがなを一括でふり違うセルに移す機能はないのですか???


 「やまださけてん」と入力して「山田酒店」に変換しているのであれば、
 PHONETIC関数で出せますよ。
 (ROUGE)

残念ですがCSVデータをエクセルに変換したものです。
PHONETIC関数が使えないのですが・・。

 マクロになりますが、フリガナをふりたい範囲を選択して、下記マクロを実行すると、
 おおよそのふりがながふられます。
 なかには予想外のフリガナがつくこともありますが、その場合は手作業で修正して下さい。
 (ROUGE)
'----
Sub test()
Selection.SetPhonetic
End Sub

有難うございます。
もう少し詳しく教えてもらってもいいですか?
マクロ初心者なのです・・・(#+_+)

 衝突しちゃいました。
 正確にはできないかもしれませんが、
その漢字がA列にるとして、
Sub test()
    Dim myR As Range
    Dim r As Range

    Set myR = Range("A1", Range("a65536").End(xlUp))
    For Each r In myR
      r.Offset(, 1).Value = Application.GetPhonetic(r.Value)
    Next
    Set myR = Nothing
End Sub
                                   (SHIOJII)


 しょうとつ〜

 Alt+F11を押して、挿入-->標準モジュールを選択。
 出てきた画面にSub〜End Subを貼り付けて閉じる。
 フリガナを振りたいセルを選択した状態で、Alt+F8を押して、testを選択、実行です。
 見た目はなにも変わりませんが、PHONETIC関数の戻り値が変わります。
 (ROUGE)

ありがとうございまーす(^―^) ニコリ♪

できました!!できましたよ!!

また、宜しくお願い致します。

じゃがいも


 すいません。こんな場合でも使えますか?
 商品名を入力する際 多数の人が入力しているのでフリガナに統一性がないときに上記のマクロを使えば統一できますか?
 (とまと)

 できません。
 こんなマクロを作ってみました。
 (ROUGE)
'----
Sub test()
    Dim rng As Range, c As Range, txt As String
    Set rng = Application.InputBox("範囲を選択して下さい", "ふりがな取得", Type:=8)
    If rng Is Nothing Then
        MsgBox "範囲が選択されていません"
        Exit Sub
    End If
    For Each c In rng
        If Not IsEmpty(c) Then
            txt = Application.GetPhonetic(c.Text)
            Do While txt <> ""
                If vbYes = MsgBox("このふりがなにしますか?" & Chr(10) _
                    & c.Address(0, 0) & ": [" & c.Text & "] = " & txt, _
                    vbYesNo, "ふりがな候補") Then
                    c.Characters(1, Len(c.Text)).PhoneticCharacters = txt
                    Exit Do
                End If
                txt = Application.GetPhonetic()
            Loop
        End If
    Next
End Sub

 ROUGEさん
 早速にありがとうございます。すごいですね。
 (とまと)


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.