Excel VBA 文字列置換
今回は、文字列を置換する関数の作成です。サンプルプログラムは、文字列に半角カナの
「ア、イ、ウ、エ、オ」が含まれている場合、全角カナの「ア、イ、ウ、エ、オ」に変換して文字列を
出力します。1行1列のセルに変換したい文字列が入っていると仮定します。
Option Base 1
Function Henkan(Str As Range) As String
Dim kana(5, 2) As String
kana(1, 1) = “ア”
kana(1, 2) = “ア”
kana(2, 1) = “イ”
kana(2, 2) = “イ”
kana(3, 1) = “ウ”
kana(3, 2) = “ウ”
kana(4, 1) = “エ”
kana(4, 2) = “エ”
kana(5, 1) = “オ”
kana(5, 2) = “オ”
Dim i As Long
Dim Data As String
Data = Str.Value
For i = 1 To 5
Data = Replace(Data, kana(i, 1), kana(i, 2))
Next i
Henkan = Data
End Function
MsgBox Henkan(Cells(1, 1))
今回のポイントは、
(1)5行2列の配列を準備する
(2)1列目には、変換したい文字を、2列目には変換後の文字を代入
(3)ループ処理で配列の行数だけ、Replace関数を使う
今回の関数は引数に、変換したい文字列が入ったセルをいれると、変換後の文字列が出力されます。
例として、MsgBox 関数で1行1列の文字列を変換して表示しています。ループ処理を使いたくない場合は、Replace関数だけで処理をするのも手だと思います。