VBAでセルにフリガナを表示させる│VBAで自動取得or手動設定

この記事では、セルに入力されている文字列に対して、VBAを使ってフリガナを表示させる方法を、実際のVBAコードも含めて説明します。

セルにフリガナを設定することはExcelの実務ではほとんど見られませんが、住所のリストや氏名の名簿など、有効な使い方もあります。

VBAのマイナーな機能として学習しておきましょう。

なお、今回の記事で引用している「南風原」「東風平」という地域名は沖縄に実在する市町村名で、それぞれ「南風原(はハエバル)」、「東風平(コチンダ)」と読みます。

目次

Excelのフリガナ機能

Excelには標準機能として、セルに入力された漢字の文字列にフリガナを表示させる機能があります。

ただし、Excelの標準機能としてのフリガナ表示は、キーボードで入力した(漢字変換前)のひらがなが設定されるようになっています。そのため、例えばコピー&ペーストで設定された漢字にはフリガナが表示されません。

一方、今回紹介するVBAを使ったフリガナ表示は、WindowsのIMEが判断した最も一般的と思われるフリガナが自動的に設定されます。例えば、マイナーであっても地域名であれば高い確率で正確なフリガナを表示してくれます。

また、表示させるフリガナVBAコード内で指定することも可能です。


前提として、VBAフリガナを設定する場合でも、予めExcelの設定でフリガナ表示を有効にしておく必要があります。

対象セルで右クリックのメニューから

VBA│セルの漢字にフリガナを自動設定する

この章では、ExcelのセルA1に入力されている漢字にフリガナを設定するVBAコードを紹介します。フリガナは、WindowsのIMEが判断して自動的に設定されます。

基本構文

object.SetPhonetic

  • object= フリガナを設定するセル
    この例では、A1です
  • SetPhonetic= フリガナを設定するメソッド

Rangeプロパティ

Sub Sample()

Range(”A1”). SetPhonetic

End Sub

Cellsプロパティ

Sub Sample()

Cells( 1 , 1 ). SetPhonetic

End Sub

VBA│セルの漢字にフリガナを手動設定する

この章では、ExcelのセルA1に入力されている漢字に、VBAコード内で指定したフリガナ設定するVBAコードを紹介します。この例では、「ナンテヨムノ?」というフリガナを設定してみます。

基本構文

object.Characters(Start,Length).PhoneticCharacters

  • object= フリガナを設定するセル
    この例では、A1です
  • Characters= フリガナを設定するプロパティ
  • (Start,Length)= 何文字目から何文字目までにフリガナを設定するかを設定する
    この例では、1文字目から3文字目です。
  • PhoneticCharacters= 指定したフリガナを設定するプロパティ

Rangeプロパティ

Sub Sample()

Range(”A1”).Characters( 1 , 3 ).PhoneticCharacters = “ナンテヨムノ?”

End Sub

Cellsプロパティ

Sub Sample()

Cells( 1 , 1 ).Characters( 1 , 3 ).PhoneticCharacters = “ナンテヨムノ?”

End Sub

よかったらシェアしてね!
  • URLをコピーしました!
目次