Excel VBA:フリガナを振る|SetPhoneticメソッド

SetPhoneticメソッドを使用し、文字列にフリガナを振るVBAを掲載しています。



Homeに戻る > Excel 数値・文字列・検索・印刷のTipsへ

SetPhoneticメソッドを使うと、手動と同じようにフリガナを振る文字列の上に表示することができます。

またこのページで行っているように、別のセルに表示することもできます。

データを色々と加工する場合は、今回のように別のセルに表示させた方がいいかと思います。

表示されたフリガナは全て正確ではないので注意が必要です。

特に名前や地名などの場合は、結果を確認する必要があります。

SetPhoneticメソッドの構文

Rangeオブジェクト.SetPhonetic

フリガナを文字列の上に表示する場合は、「Rangeオブジェクト.Phonetics.Visible = True」を実行します。

「Rangeオブジェクト.Phonetic.Visible = True」でも可能です。

今回の場合は「Rangeオブジェクト.Phonetic.Text」で、フリガナを取得し別のセルにセットしています。

使用は下のVBAコードサンプルをコピーしご利用ください。




Excelシート画面

Excel VBAで入力された名前や、他のソフトからコピーし貼り付けた名前にフリガナを振ります。

C列の「この列に名前を貼り付け」の下にフリガナを振りたい文字列をセットします。

フリガナを振る前のシート

「フリガナをふる」ボタンをクリックするとD列に結果を表示します。

フリガナを振る後のシート


Excel VBA実行コード

Option Explicit

Private Sub CommandButton1_Click()
    Dim rngname As Range
    Dim rngbuf As Range
    Dim lmaxrow As Long
    
    '最下行を取得
    lmaxrow = ActiveSheet.Range("C65536").End(xlUp).Row
    
    '対象範囲
    Set rngname = Range(Cells(6, 3), Cells(lmaxrow, 3))
    
    'フリガナを作成する
    rngname.SetPhonetic
    
    For Each rngbuf In rngname
        'フリガナを右横に表示する
        rngbuf.Offset(0, 1).Value = rngbuf.Phonetic.Text
    Next
End Sub




Homeに戻る > Excel 数値・文字列・検索・印刷のTipsへ

■■■
このサイトの内容を利用して発生した、いかなる問題にも一切責任は負いませんのでご了承下さい
■■■
当ホームページに掲載されているあらゆる内容の無許可転載・転用を禁止します


Copyright (c) Excel-Excel ! All rights reserved