Excelマクロでふりがなを一括後付けする方法

Excelマクロでふりがなを一括で後付けする方法

エクセルで漢字データにルビ・フリガナを付けることは、日本語の文書作成において重要です。本記事では、ふりがなを一括で後付けするExcelマクロの使い方とその意義を詳しく解説していきます。

これから作るマクロの意義

これから作成するマクロには「AddRubyToText」と名前を付ける予定です。「AddRubyToText」は、ExcelのVBAマクロを使用して、漢字データにふりがなを自動的に付けることができるツールです。ユーザー定義関数では限界があるため、マクロを使用してふりがなを付けることができます。このマクロは、漢字とふりがなが別々のセルに入力されている場合に、ふりがな付きの漢字データを作成するのに適しています。

マクロのVBAコード

次の「マクロの使い方」を参考に、ブックへマクロのVBAコードを登録します。

Sub AddRubyToText()
    Dim srcRange As Range
    Dim rubyRange As Range
    Dim destCell As Range
    Dim srcCell As Range
    Dim rubyCell As Range
    Dim destWorksheet As Worksheet
    Dim i As Long
    Dim kanjiLen As Integer
    Dim kanaLen As Integer

    ' ユーザーに漢字データ範囲を指定させる
    On Error Resume Next
    Set srcRange = Application.InputBox("漢字データが入力されている範囲を選択してください。", Type:=8)
    On Error GoTo 0
    If srcRange Is Nothing Then Exit Sub

    ' ユーザーにふりがなデータ範囲を指定させる
    On Error Resume Next
    Set rubyRange = Application.InputBox("ふりがなデータが入力されている範囲を選択してください。", Type:=8)
    On Error GoTo 0
    If rubyRange Is Nothing Then Exit Sub

    ' ユーザーに出力開始セルを指定させる
    On Error Resume Next
    Set destCell = Application.InputBox("出力するセルを選択してください。", Type:=8)
    On Error GoTo 0
    If destCell Is Nothing Then Exit Sub

    Set destWorksheet = destCell.Worksheet

    ' 漢字データとふりがなデータを結合して出力セルにコピー
    For i = 1 To srcRange.Rows.Count
        Set srcCell = srcRange.Cells(i, 1)
        Set rubyCell = rubyRange.Cells(i, 1)

        kanjiLen = Len(srcCell.Value)
        kanaLen = Len(rubyCell.Value)

        With destWorksheet.Cells(destCell.Row + i - 1, destCell.Column)
            .Value = srcCell.Value
            .Characters(1, kanjiLen).PhoneticCharacters = rubyCell.Value
            .Phonetics.Visible = True
        End With
    Next i
End Sub

マクロの使い方

「AddRubyToText」マクロを使用する手順は以下の通りです。

  1. エクセルのVBAエディタを開き(Alt+F11)、「挿入→標準モジュール」へ「AddRubyToText」マクロを挿入します。
  2. エクセルに戻り、漢字データとふりがなデータが入力されている範囲を指定します。
  3. 出力先のセルを指定し、マクロを実行します。
  4. ふりがな付きの漢字データが出力されます。

 使用例

例として、以下のようなデータが入力されているとします。

A列B列
BACCHESS平塚バッチェス ヒラツカ
BACCHESS川崎バッチェス カワサキ
BACCHESS横浜バッチェス ヨコハマ

上記のデータを使って、以下の手順でふりがな付きの漢字データを作成します。

  1. 「AddRubyToText」マクロを挿入したエクセルファイルを開きます。
  2. エクセルの「開発」タブから「マクロ」を選択し、「AddRubyToText」を実行します。
  3. 出現するダイアログボックスで、漢字データが入力されている範囲(この例ではA1:A3)を指定し、「OK」をクリックします。
  4. 次に表示されるダイアログボックスで、ふりがなデータが入力されている範囲(この例ではB1:B3)を指定し、「OK」をクリックします。
  5. 最後に出力先のセルを指定します(この例ではC1:C3)。
  6. 指定した出力先セルにふりがな付きの漢字データが生成されます。

以上の手順で、以下のようなふりがな付きの漢字データが作成されます。

C列
BACCHESS平塚(バッチェス ヒラツカ)
BACCHESS川崎(バッチェス カワサキ)
BACCHESS横浜(バッチェス ヨコハマ)

4. まとめ

「AddRubyToText」マクロは、Excelでふりがな付きの漢字データを簡単に作成するための便利なツールです。ユーザー定義関数では限界があるため、このマクロを活用することで効率的にふりがなデータを作成できます。ぜひ、日々の業務で活用してみてください。

コメント