2009年11月24日

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

某質問サイトへ答えた内容だが
文章をすべて半角カタカナに変換するというユーザー定義関数で
こちらで手を加えずに「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は保障なし・・・



同じカテゴリー(ユーザー定義関数)の記事画像
Excel(ユーザー定義関数・基本型)
同じカテゴリー(ユーザー定義関数)の記事
 Excel(ユーザー定義関数の制限) (2009-12-06 23:18)
 ExcelVBA(変数の定義) (2009-11-29 08:59)
 ExcelVBA(データ型) (2009-11-26 16:59)
 Excel(ユーザー定義関数・基本型) (2009-11-25 18:10)

※会員のみコメントを受け付けております、ログインが必要です。
上の画像に書かれている文字を入力して下さい
 
<ご注意>
書き込まれた内容は公開され、ブログの持ち主だけが削除できます。

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