« いいのか? 宇宙ゴミ。 | トップページ | いじめていい理由なんてありません。 »

Excel で漢字の読みを入力するマクロ

この記事は自分用の覚書です。
(Windows 10 Pro 64ビット + Excel2016 Office365 Business サブスクリプション バージョン1801(ビルド9001.2171)

VBA を使って、B 列に入っている漢字の読みを C 列に入力する。

セル内の漢字の読みは PHONETIC 関数で取得できるが、セルの中で読みを打って漢字に変換していないとその読みは  PHONETIC 関数で取得できない。(別のファイルからコピー貼り付けしてきた場合など。)

下記のコードは、セルの中で変換していなくても漢字の読みを取得する。
(コードを実行する場合は、読みを入力したいシートを開いておく。)

ただし、エクセルが漢字を認識するので、期待通りの読みにならない場合がある。その場合は、手作業で読みの編集が必要。
PHONETIC 関数とは違って、漢字の読み( Shift + Alt + ↑)を正しく入れても反映はされない。

Yomi_1

コードを実行した結果。

Yomi_2


Sub 漢字の読みを入力()
Dim i As Long, 文字列 As String
For i = 2 To Cells(Rows.Count, "B").End(xlUp).Row
    文字列 = Cells(i, "B")
    Cells(i, "C") = Application.GetPhonetic(文字列)
Next i
'B 列に入っている文字列のヨミを C 列に入力する。
'
'For i = 2 To Cells(Rows.Count, "B").End(xlUp).Row のコードで、
'B 列が何行あっても対応できるようにしている。
'
'B 列の値を、変数「文字列」に代入する。
'変数「文字列」を、Application オブジェクトの GetPhonetic メソッドの引数にする。
'C列のセルに GetPhonetic メソッドの実行結果を入れていく。
'
'B 列に入っている漢字の読みを、エクセルが内部的にもっている辞書と照らし合わせて認識する。
'そのため、人が期待する通りに漢字を読んでくれない場合がある。
'その場合は、手作業での調整が必要。
'
End Sub

|

« いいのか? 宇宙ゴミ。 | トップページ | いじめていい理由なんてありません。 »

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/6730/66440174

この記事へのトラックバック一覧です: Excel で漢字の読みを入力するマクロ:

« いいのか? 宇宙ゴミ。 | トップページ | いじめていい理由なんてありません。 »