フリガナを自動でつけるマクロ
3行マクロ 21回
フリガナを自動でつけるマクロ
フリガナを自動でつけるマクロって必要なの?と思うかもしれません。
フリガナを表示させたいセルを右クリックして、
メニューからふりがなの表示を選択すればフリガナが表示されますから。
でもそれは、入力した時の読みをExcelが記憶しているからで、データをテキストファイルで受けっとった場合など、それをそのまま利用しても、フリガナは表示されません。
今回作成するマクロは、Excelのフリガナ機能が働かない場合に、マクロで振り仮名を表示させようということなのです。
(サンプルファイルは、こちらから 3行マクロ21回サンプルデータ)
Excelバージョン:
振り仮名が表示されない場合
振り仮名を表示させるには、右クリックから振り仮名の表示を選択しますが・・・
この表は、データを他のアプリケーションから持ってきたので、振り仮名が表示されません。このような時に、マクロで振り仮名を表示できたら便利ですね。
マクロで振り仮名を表示させる
マクロで振り仮名を表示させると言っても、残念ながらマクロの記録では作れません。
VBEを起動してコードを入力します。
VBEを起動してコードを入力します。
VBEを起動したら、左側からVBEProject(PERSONAL.XLS)を選びます。すでにある標準モジュールに追記してもいいですし、挿入メニューから「標準モジュール」を選択してあたらしい標準モジュールに記載してもかまいません。
Sub 振り仮名を自動でつける
とマクロの名前を書いて、その後に、()を付けます。
すると、End Sub が自動的に記入されます。
とマクロの名前を書いて、その後に、()を付けます。
すると、End Sub が自動的に記入されます。
間に次のようにコードを記載します。
Sub 振り仮名を自動でつける() Selection.SetPhonetic End Sub
これだけです。
選択範囲に振り仮名をつけるという意味になります。
選択範囲に振り仮名をつけるという意味になります。
先ほどの、振り仮名の表示されない表で確認しましょう。マクロを表示させて、振り仮名を自動でつけるマクロを選択し、実行をクリック。
自動で振り仮名が入力されました。
ただし、Excelのおすすめ振り仮名ですから、読みが違う場合もあります。確認が必要です。
こちらは、右クリックメニューからの[振り仮名を表示]をコードに入れています。
' 予め範囲を選択しておきます。 Sub 振り仮名を自動でつける() Selection.SetPhonetic Selection.Phonetics.Visible = True End SubWith ~ End Withステートメントを使う場合
' 予め範囲を選択しておきます。 Sub 振り仮名を自動でつける2() With Selection .SetPhonetic .Phonetics.Visible = True End With End Sub
別セルにフリガナだけ取り出したい時
別セルにフリガナだけ取り出したい時には、Offsetプロパティを利用します。
指定された範囲からオフセットした範囲のオブジェクトを表すので、以下の場合には、左隣のフリガナが設定されているセルということになります。
セル.Value = セル.Offset(0, -1).Phonetic.Text
' 予めフリガナを取り出したいセル範囲を選択しておきます。以下のコードの場合はC列
Sub セルのフリガナを別セルに表示する() Dim セル As Range For Each セル In Selection セル.Value = セル.Offset(0, -1).Phonetic.Text Next End Sub
今日の講義は以上です。お疲れ様でした。