【VBAリファレンス|実務向け】Excelで漢字に「ふりがな」を付ける!手動操作とVBA自動化の極意

スポンサーリンク

導入

Excelで顧客名簿や社員名簿を作成する際、漢字の読み仮名を別セルに抽出したい、あるいは表示させたいという場面は非常に多いものです。しかし、一から全て手入力するのは非常に非効率です。Excelの標準機能である「ふりがな機能」を正しく理解し、さらにVBAで自動化することで、事務作業の生産性は劇的に向上します。今回は、基本操作からVBAを活用した実務的なアプローチまでを解説します。

基礎知識

Excelの「ふりがな(Phonetic)」機能は、セルに入力された漢字データに付随する「読み情報」を利用しています。Excelは日本語入力時に「どの読みで入力されたか」という情報を内部的に保持しています。この情報を表示させるのが「ふりがなの表示」機能です。
注意点として、コピー&ペーストで貼り付けたデータや、外部システムから取り込んだデータには「ふりがな情報」が含まれていないことが多く、その場合は「PHONETIC関数」が正しく動作しません。

実装/解決策

手動でふりがなを表示させるには、対象セルを選択し、リボンメニューの「ホーム」タブにある「ふりがなの表示/非表示」をクリックします。
一方、実務で多い「別のセルにひらがな(またはカタカナ)でふりがなを表示したい」というニーズには、PHONETIC関数を使います。

=PHONETIC(A1)

もし、関数で値が取得できない場合は、セルをダブルクリックして編集モードにするか、VBAを使用して強制的にふりがな情報を再設定する必要があります。

サンプルプログラム

以下のコードは、選択した範囲内の漢字に対して、ふりがな情報を強制的に再設定し、隣の列にカタカナでふりがなを出力する実務特化型のマクロです。

Sub AddFuriganaAndExtract()
Dim rng As Range
Dim cell As Range

‘ 選択範囲に対して処理を実行
Set rng = Selection

For Each cell In rng
‘ ふりがな情報を強制的にセット(SetPhoneticメソッド)
‘ これにより、外部データ等でふりがなが消えているセルにも読みが設定されます
cell.SetPhonetic

‘ 隣のセルにふりがなを出力(Phoneticプロパティを使用)
‘ ※vbKatakanaでカタカナに変換、不要なら省略可能
cell.Offset(0, 1).Value = StrConv(cell.Phonetic.Text, vbKatakana)
Next cell

MsgBox “ふりがなの抽出が完了しました。”, vbInformation
End Sub

応用・注意点

1. SetPhoneticメソッドの重要性: 外部から取り込んだデータに対してPHONETIC関数を使っても空欄になる場合、このVBAコード内の`cell.SetPhonetic`が非常に有効です。これでExcelに強制的に読みを再計算させることができます。
2. ふりがなの設定: 「ふりがなの表示」の見た目を変更したい場合は、メニューの「ふりがなの設定」から、ひらがな/カタカナの指定やフォントサイズを調整できます。
3. バグ回避: 住所や氏名など、特殊な読み方をする名前の場合、Excelの推測が外れることがあります。その際は、セルを選択し「ふりがなの編集」で手動修正を行ってください。一度修正すれば、VBAで再取得する際にもその情報が反映されます。

タイトルとURLをコピーしました