文章を半角カタカナに変換する関数

タカさん

2009年11月24日 06:27

某質問サイトへ答えた内容だが
文章をすべて半角カタカナに変換するというユーザー定義関数で
こちらで手を加えずに「GetPhonetic」で変換すると
100文字以内という制限が働くので
そこらへんに手を加えて100文字以上に対応させたものを残しておくことにする

[ユーザー定義関数の作成]

1.ツールバーから[ツール]→[マクロ]→[Visual Basic Editor]を実行

2.Projectエクスプローラの部分を右クリックして標準モジュールを挿入

3.挿入した標準モジュールを開き以下のコードを記述

Function KanaConv(strText As String) As String
Dim strLen As Integer
Dim strTexts(100) As String 'よくわからないので1万文字まで
Dim i As Integer
Dim strTmp As String

strLen = (Len(strText) / 100)

For i = 0 To strLen
strTexts(i) = Application.GetPhonetic(Mid(strText, (i * 100) + 1, 100))
strTmp = strTmp & StrConv(strTexts(i), vbNarrow)
Next i
KanaConv = strTmp
End Function


あとはセル部分へ普通にExcel関数と同様の使用ができるようになる
たとえばA1にある文字をA2へ半角カタカナで表示するようにするなら
A2のセルへ次のように使用する

=KanaConv(A1)

テスト環境はExcel2007だがExcel2002以降ならおそらく動くと思われる
Excel2000は保障なし・・・

関連記事