こんにちは、ユーキです。
今回は、ExcelVBAにおける文字列に関する関数を紹介します。
文字列に関する関数はここで紹介するものがすべてです。やりたいことができる関数がなければ、自力で実装が必要となります。
調べる
長さを調べたり、何番目に指定した文字列が現れるのかを調べたりすることができます。
文字列の長さを調べる
文字列の長さを調べるには、Len関数を使用します。Len関数で得られるのは文字数です。文字がいくつあるかを返す関数となります。
バイト数で数えたい場合、LenB関数を使えば…といいたいところですが、日本語はそのままでは正しく機能しない点に注意が必要となります。
指定文字が何番目にあるかを調べる
指定文字列が何番目に現れるかを知りたい場合は、InStr関数を使用します。指定した文字列がない場合は0が戻りますので、含まれいる、含まれていないを判断することにも使用可能です。
末尾から検索したい場合は、InStrRevを使用します。
文字列の変換
文字列を抜き出したり、置き換えたりする関数もVBAではいくつか用意されています。
文字列を抜き出す
文字列から一定の条件で文字を抜き出したい場合は、Mid関数を使用します。
左(先頭)から抜き出したい場合はLeft関数、右(末尾)から抜き出したい場合はRight関数が使えます。
バイト数で抜き出ししたい場合には、MidB関数、LeftB関数、RightB関数を使用します。
文字列を置換する
文字列を置換するには、Replace関数を使用します。正規表現で置換する場合、VBScript.RegExpオブジェクトを使うことになります。
文字列から空白を取り除く
文字列の前後から空白を取り除くには、Trim関数を使用します。
先頭の空白だけを取り除きたい場合にはLTrim関数、末尾の空白だけを取り除きたい場合にはRTrim関数を使います。
文字列を大文字/小文字に変換する
文字を大文字に変換したい場合にはUCase関数、小文字にしたい場合にはLCase関数を使用します。
まとめ
今回は、ExcelVBAにおける文字列に関する関数を紹介しました。
- 文字列の長さを調べるには、Len関数
- 指定した文字列が何番目に出現するかを調べるには、InStr関数
- 文字列を抜き出すには、Mid関数、Left関数、Right関数
- 空白を取り除くには、Trim関数
- 文字列を置換するには、Replace関数
- 文字列を大文字にするにはUCase関数、小さい文字にするにはLCase関数
少しでもお役に立てば、幸いです。