Excel。VBA。読み込んだデータのふりがなを設定し列に表示したい
<Excel VBA: vbHiragana>
データを読み込んだら、ふりがなの列がないので、作ることしました。
Phonetic関数を使ってふりがなを表示してもいいのですが、データを読み込むたびに行うのは、ちょっと面倒です。
また、Phonetic関数という数式で表示してしまうと、ふりがなの修正が必要になると、これも、面倒な作業が発生します。
そこで、Excel VBAでプログラム文を作成して対応することにします。
Sub ふりがな()
Dim i As Integer
Dim lastrow As Long
lastrow = Cells(Rows.Count, "a").End(xlUp).Row
Range("b1").CurrentRegion.Offset(1, 0).SetPhonetic
For i = 2 To lastrow
Range("c" & i) = Range("b" & i).Phonetic.Text
Range("c" & i).Value = StrConv(Range("c" & i).Value, vbHiragana)
Next
End Sub
これで、C列にB列のデータのふりがなを表示することができます。
それでは、プログラム文を確認します。
お馴染みの変数宣言です。
Dim i As Integer
Dim lastrow As Long
lastrow = Cells(Rows.Count, "a").End(xlUp).Row
変数のlastrowは繰り返し作業のために何回繰り返し作業をすればいいのかを、算出して設定しています。
Range("b1").CurrentRegion.Offset(1, 0).SetPhonetic
B1から連なるデータにフリガナを設定しています。
Excelのふりがな情報は、Excelに直接入力しないと入力時文字情報は記録されません。
要するに、Excel以外からデータをインポートや、コピーだと、ふりがな情報は無いというわけです。
そのため、ふりがな情報を強制的に設定する必要があるわけです。
For i = 2 To lastrow
Range("c" & i) = Range("b" & i).Phonetic.Text
Range("c" & i).Value = StrConv(Range("c" & i).Value, vbHiragana)
Next
For To Nextで繰り返し処理をしております。
Range("c" & i) = Range("b" & i).Phonetic.Text
この行で、C列にフリガナ情報を表示します。
ただ、表示すると「カタカナ」になっています。
今回は、見出し行が「ひらがな」になっていますので、次の行で、カタカナをひらがなに変換しています。
Range("c" & i).Value = StrConv(Range("c" & i).Value, vbHiragana)