【ExcelVBA・マクロ】ふりがな(フリガナ)を自動作成する方法|PHONETIC関数・VBAで一括取得【コピペOK】

ふりがな(フリガナ)を自動作成 ExcelVBA

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
  • 一括処理はループで対応
  • ひらがな変換も可能

ふりがなを自動作成できるようになると、名簿やデータ管理の効率が大幅に向上します。
特に大量データを扱う場合は必須レベルのテクニックなので、ぜひ活用してみてください。

スポンサーリンク
スポンサーリンク
ExcelVBA
いがぴをフォローする

コメント

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