Excelで名簿や顧客データを扱っていると、こんなことはありませんか?
- 漢字にふりがなを付けたい
- フリガナを手入力するのが面倒
- 既存データから自動で取得したい
このような場合は、VBAでふりがな(フリガナ)を自動取得できます。
Excelの内部機能を使うことで、簡単にふりがなを取得できるので非常に便利です。
この記事では、ふりがなを自動作成するVBAコードを初心者向けに分かりやすく解説します。
この記事でできること
- セルのふりがなを取得できる
- 別セルにフリガナを出力できる
- 複数データを一括処理できる
- 実務で使えるコードが分かる
基本:ふりがなを取得するコード
まずは基本コードです。
A1セルのふりがなをB1に出力します。
Option Explicit
Sub GetFurigana()
Range("B1").Value = Range("A1").Phonetic.Text
End Sub
これで、A1の漢字のふりがながB1に表示されます。
コードのポイント解説
Phonetic.Textとは?
Phonetic.Text は、セルに設定されているふりがなを取得するプロパティです。
ただし注意点として、
- ふりがなが存在しないと取得できない
という制限があります。
ふりがなが無い場合に自動生成する方法
ふりがなが無い場合は、次のコードで自動生成できます。
Option Explicit
Sub CreateFurigana()
Range("A1").SetPhonetic
End Sub
これで、A1セルにふりがなが設定されます。
ふりがなを表示して取得する(実務でよく使う)
実務では「生成+取得」をセットで使うことが多いです。
Option Explicit
Sub GetFuriganaFull()
Dim target As Range
Set target = Range("A1")
' ふりがな生成
target.SetPhonetic
' 取得して出力
Range("B1").Value = target.Phonetic.Text
End Sub
複数セルを一括処理する方法
A列のデータをまとめて処理する場合はこちらです。
Option Explicit
Sub GetFuriganaColumn()
Dim i As Long
Dim lastRow As Long
lastRow = Cells(Rows.Count, 1).End(xlUp).Row
For i = 1 To lastRow
If Cells(i, 1).Value <> "" Then
Cells(i, 1).SetPhonetic
Cells(i, 2).Value = Cells(i, 1).Phonetic.Text
End If
Next i
MsgBox "ふりがなの取得が完了しました。", vbInformation
End Sub
これでA列→B列にフリガナを一括出力できます。
カタカナをひらがなに変換する方法
ふりがなは通常カタカナで取得されます。
ひらがなにしたい場合はこちらです。
Option Explicit
Function KanaToHiragana(ByVal str As String) As String
KanaToHiragana = StrConv(str, vbHiragana)
End Function
使用例:
Cells(i, 2).Value = KanaToHiragana(Cells(i, 1).Phonetic.Text)
実務での活用例
- 顧客名簿のフリガナ作成
- 並び替え用の読み仮名作成
- CSV出力用データ整形
- 検索用データの生成
特に名簿管理では非常に使用頻度が高い処理です。
よくある注意点
① ふりがなが取得できない
Excelが漢字の読みを認識できない場合があります。
その場合は手動で設定する必要があります。
② 英語・記号は対象外
アルファベットや記号にはふりがなは付きません。
③ コードは正しいのに動かない
コピー時に全角文字や特殊文字が混ざることがあります。
その場合は該当行を手入力し直すと解決することがあります。
まとめ
- ふりがな取得は
Phonetic.Text - 生成は
SetPhonetic - 一括処理はループで対応
- ひらがな変換も可能
ふりがなを自動作成できるようになると、名簿やデータ管理の効率が大幅に向上します。
特に大量データを扱う場合は必須レベルのテクニックなので、ぜひ活用してみてください。


コメント