【ゼロからわかるVBA入門】文字列を扱う関数(2)

アルファベット
この記事は約4分で読めます。

プログラミング初心者向けのVBA入門講座第18回です。

→過去の入門講座目次はこちら

前回に引き続きよく使われる関数のうち文字列を扱う関数を紹介していきます。

文字の置換を行う関数(Replace関数)

Replace(文字列, 検索文字列, 置換文字列)

文字列のなかで指定した検索文字列を置換文字列に置き換えます。

MsgBox Replace(“VBA入門”, “入門”, “講座”) ‘//→「VBA講座」

置換文字列を空白「””」に指定することで検索文字列を削除することができます。

MsgBox Replace(“VBA入門”, “入門”, “”) ‘//→「VBA」

スペースを取り除く関数(LTrim関数、RTrim関数、Trim関数)

LTrim(文字列)
RTrim(文字列)
Trim(文字列)

LTrim関数は文字列の左端のスペースを取り除きます。

RTrim関数は文字列の右端のスペースを取り除きます。

Trim関数は文字列の両端のスペースを取り除きます。

Range(“A1”).Value = LTrim(“ VBA 入門 ”) ‘//→「VBA 入門 」
Range(“A2”).Value = RTrim(“ VBA 入門 ”) ‘//→「 VBA 入門」
Range(“A3”).Value = Trim(“ VBA 入門 ”) ‘//→「VBA 入門」

先ほどのReplace関数でスペースを空白「””」に置換すると文字列の中間にあるスペースも取り除くことができます。

Range(“A4”).Value = Replace(“ VBA 入門 ”, “ ”, “”) ‘//→「VBA入門」

大文字、小文字に変換する関数(UCase関数、LCase関数)

UCase(文字列)
LCase(文字列)

UCase関数は文字列のアルファベット小文字を大文字に変換します。

LCase関数は文字列のアルファベットの大文字を小文字に変換します。

MsgBox UCase(“Excel”) ‘//→「EXCEL」
MsgBox LCase(“Excel”) ‘//→「excel」

指定した文字種に変換する関数(StrConv関数)

StrConv(文字列, 文字種)

文字列を指定した文字種に変換します。

引数の文字種には次の定数か値で指定します。

定数説明
vbUpperCase1文字列を大文字に変換します
vbLowerCase2文字列を小文字に変換します
vbProperCase3文字列内のすべての単語の最初の文字を大文字にします
vbWide4文字列内の半角文字を全角文字に変換します
vbNarrow8文字列内の全角文字を半角文字に変換します
vbKatakana16文字列内のひらがなをカタカナに変換します
vbHiragana32文字列内のカタカナをひらがなに変換します
vbUnicode64文字列をシステムの既定のコードページからUnicodeへ変換します
vbFromUnicode128文字列をUnicodeからシステムの既定のコードページへ変換します

MsgBox StrConv(“あいうえお”, vbKatakana) ‘//→「アイウエオ」

複数の文字種を指定することも可能です。

その場合、定数で指定するときは「vbUpperCase + vbWide」のように「+」でつなげて指定します。値で指定するときはその値の合計を指定します。(1+4 →「5」)

次の2つのコードは同じ結果になります。

MsgBox StrConv(“vba”, vbUpperCase + vbWide) ‘//→「VBA」
MsgBox StrConv(“vba”, 5) ‘//→「VBA」

値で指定するよりも定数で指定したほうが後からコードを読み返したときに意味がわかりやすいためできるだけ定数で指定することをおすすめします。

そのような「コードの読みやすさ」のことは「可読性」といいます。

可読性の高いコードは後から修正や仕様変更に対応しやすくメンテナンス性に優れています。プログラミングをするときにはコードの可読性も考慮するようにしましょう。

コメント

タイトルとURLをコピーしました