日本語のみ全角化
1年半ほど前に、このような記事を書いた。
infoment.hatenablog.com
書いた時は「ある特殊な条件下で」としたが、汎用的に出来そうな方法を思いついたので、忘れないうちに記事化しておく。
前回述べた「特殊な条件」とは、下記のとおり。
- ふりがなの設定が「全角カタカナ」であること。
- 全角化したい文字が入力されたセルに、ふりがな情報が無いこと。
しかし考えてみれば、上記条件をマクロで実現すれば、特殊な条件を気にする必要はなくなる訳で。
例えば、こんな感じだ。
Sub Test() ' 変換前のセル。 Dim SourceRange As Range Set SourceRange = Range("B1") ' 変換後の文字入力セル。 Dim TargetRange As Range Set TargetRange = Range("B2") ' フリガナをカタカナに設定。 TargetRange.Phonetic.CharacterType = xlKatakana ' 変換後の文字入力セルに、変換前の文字を半角化してセット。 ' このときフリガナ情報はセットされていないことがポイント。 TargetRange = StrConv(SourceRange.Value, vbNarrow) ' 変換後の文字のフリガナをセット。 ' フリガナ情報がないため、半角カナが全角カナでセットされる。 TargetRange = TargetRange.Phonetic.Text ' 変換後のセルに、変換前のフリガナを移植。 TargetRange.Characters.PhoneticCharacters = _ SourceRange.Characters.PhoneticCharacters End Sub
結果は、以下のとおり。
データクレンジングなどで、今後役に立つかも。
参考まで。