このページの内容について
このページは、VBAエキスパート(ExcelVBAスタンダード)試験合格講座の第十一回記事です。公式テキスト第7章「データの並べ替え」の内容について解説します。自分でも手を動かしながら読み進めてください。主に講座受講者の復習での利用を想定しています。
ふりがなの操作(Phoneticオブジェクト)
Excelに漢字を入力すると、自動的にふりがなが設定されています。ExcelVBAでふりがなを操作するにはRangeオブジェクトのプロパティ「Phonetic」オブジェクトを使用します。

Textプロパティ
基本の使い方
「Text」プロパティでふりがなを参照したり、書き換えたりすることができます。
サンプルコード(クリックでコピー)
Private Sub Test_PhoneticNeko()
Dim ws As Worksheet
Dim rng As Range
Set ws = ThisWorkbook.Worksheets(1)
Set rng = ws.Range("A1")
rng.Value = "猫"
rng.Phonetic.Text = "ねこ"
Debug.Print rng.Phonetic.Text
End Sub
実行結果
上記サンプルコードは、マクロが記述されているブックの一番左のシートのセル「A1」に「猫」と入力し、ふりがなに「ねこ」と入力します。その後ふりがなをイミディエイトウィンドウに出力します。
ふりがなの初期値
セルに直接手動で漢字を入力すると、自動でふりがなが設定されます。しかし、マクロで漢字を入力してもふりがなは設定されません。ふりがなが設定されていないセルのふりがなを参照すると、入力されている漢字がそのまま返されます。
サンプルコード(クリックでコピー)
Private Sub Test_PhoneticInit()
Dim ws As Worksheet
Dim rng As Range
Set ws = ThisWorkbook.Worksheets(1)
Set rng = ws.Range("A1")
rng.Value = "猫"
Debug.Print rng.Phonetic.Text
End Sub
実行結果
上記サンプルコードは、マクロが記述されているブックの一番左のシートのセル「A1」に「猫」と入力し、ふりがなをイミディエイトウィンドウに出力します。ふりがなは設定されておらず、「猫」と出力されます。
ふりがなの初期化
ふりがなを一度設定すると、マクロからはふりがなを削除することはできません。
サンプルコード(クリックでコピー)
Private Sub Test_PhoneticErr()
Dim ws As Worksheet
Dim rng As Range
Set ws = ThisWorkbook.Worksheets(1)
Set rng = ws.Range("A1")
rng.Value = "猫"
rng.Phonetic.Text = "ネコ"
Debug.Print rng.Phonetic.Text
rng.Phonetic.Text = ""
End Sub
実行結果
上記サンプルコードは、ふりがなを設定後、ふりがなに「””(空文字)」を入力しようとしています。このコードはエラーが発生し実行できません。
【PR】VBAエキスパート試験対策記事
当サイトでは、オデッセイコミュニケーションズ社が運営する試験であるVBAエキスパート(Excel VBA ベーシック/Excel VBA スタンダード)の出題範囲をベースに用語や各種関数の解説などを行っています。試験合格に向けて必須と言われる公式テキストに沿って解説をしています。受験をするか悩んでいる方、テキストとは別視点の解説を見てみたい方、受験はしないがExcelVBA(マクロ)に興味がある方へ向けた記事です。
Comment