PR

【VBA】文字列にふりがな(ひらがな/カタカナ)を表示する

これで楽に!?VBA活用
記事内に広告が含まれています。

こんにちは、Ryoです。
用途によってはかなり使用頻度の高いふりがな設定ですが、VBAを使っても行うことができます。今回はサンプルを使ってセルの文字列からふりがなの取得、取得したふりがなをひらがなや半角カタカナに置換、設定したふりがなを削除する方法について書いてみたいと思います。

スポンサーリンク

1.サンプル概要

画像に示す簡単な表があるとして、先ずは「フリガナ」欄に全角カタカナで取得します。

≪実行前≫

≪実行後Sample1≫・・・全角カタカナ

次にひらがな、半角カタカナで取得した場合は以下の通りです。

≪実行後Sample2≫・・・ひらがな

≪実行後Sample3≫・・・半角カタカナ

≪実行後Sample4≫・・・セル上の文字にフリガナを設定

次にこれらのサンプルコードを以下に書いていきます。

2.サンプルコード

◆Sample1・・・全角カタカナの取得

Sub Sample1()

 Dim i As Integer
 
 For i = 2 To 6
   'フリガナを全角カタカナで表示する
   Cells(i, 3) = Application.GetPhonetic(Cells(i, 2))
 Next i
 
End Sub

ふりがなを取得するにはGetPhoneticメソッドを使用します。

オブジェクト.GetPhonetic(文字列)

オブジェクトにはApplicationオブジェクトを指定しますので、サンプルのようにApplication.GetPhonetic(Cells(i, 2))という形で記述すればOKです。

後は取得したフリガナをC列の欄に書き込んでいきますので、For~Nextを使い処理を行っています。

◆Sample2・・・ひらがなの取得

Sub Sample2()

 Dim i As Integer
 
 For i = 2 To 6
   'フリガナをひらがなで表示する
   Cells(i, 3) = StrConv(Application.GetPhonetic(Cells(i, 2)), vbHiragana)
 Next i
 
End Sub

フリガナの取得自体はSample1と同様ですが、それをひらがなとする為にStrConv関数を使用します。Sample2ではひらがなにしますので、

StrConv(Application.GetPhonetic(Cells(i, 2)), vbHiragana)

このように記述することで、ひらがなを取得出来ます。

◆Sample3・・・半角カタカナの取得

Sub Sample3()

 Dim i As Integer
 
 For i = 2 To 6
   'フリガナを半角カタカナで表示する
   Cells(i, 3) = StrConv(Application.GetPhonetic(Cells(i, 2)), vbNarrow)
 Next i
 
End Sub

半角カタカナの場合も同様にStrConv関数を用いますが、この場合は以下のように指定します。

StrConv(Application.GetPhonetic(Cells(i, 2)), vbNarrow)

これで半角カタカナを取得出来ます。

◆Sample4・・・セル上の文字にフリガナを設定

Sub Sample4()
 'セル上の文字にフリガナを設定する
 With Range(Cells(2, 2), Cells(6, 2))
   .SetPhonetic
   .Phonetic.Visible = True
 End With

End Sub

セル上の文字にフリガナを設定するにはSetPhoneticメソッドを使用します。

オブジェクト.SetPhonetic

このオブジェクトにはRangeオブジェクトを指定しますので、サンプルではフリガナ設定したい範囲を指定しています。そのSetPhoneticで設定したら.Phonetic.Visible = Trueとすることでフリガナを表示できます。

◆参考・・・文字列に設定したフリガナを削除(非表示)

おそらく書かずともおわかりかもしれませんが、上述の.Phonetic.Visible = TrueをFalseにするだけでOKです。

Sub Sample5()
  'セルの文字に設定されたフリガナを削除する
 With Range(Cells(2, 2), Cells(6, 2))
   .SetPhonetic
   .Phonetic.Visible = False
 End With

End Sub

これを実行すればSample4で設定したフリガナを削除(非表示)することが出来ます。

3.まとめ

ここまで書きました通り、フリガナ設定や削除自体は特に難しいこともなく実行することが出来ます。ただセルに入力した際の文字の入力によっては正しく表示されないこともあるようなので、実行したら表示内容は確認した方が良いかと思います。




Excelで扱うデータによっては方法をしっておくと有用なことも多いかと思いますので、機会があればぜひご検討くださいませ!

以上が文字列にふりがな(ひらがな/カタカナ)を表示する方法についてでした!
今回の記事が何かの参考になれば幸いです。

Ryo

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