オーロラさんの勉強帳

33歳、未経験からIT業界へ。SESのロースキル客先常駐勤務。データベース、Excel、Excel VBA、ネットワーク、LinuxなどIT関連のことを主に書いていきます。

VBA 再入門24 文字列系の関数 (Left・Right・Mid・Instr・Len)

 

文字列を操作する5つの関数を紹介します。

 

Left関数・Right関数・Mid 関数について

Left関数、Right関数、Mid関数は引数で指定した文字列から、一部の文字列を返す関数です。各関数の違いは以下の通りです。

 

Left関数

Left関数は、引数に指定した文字列文字列の左端から、引数で指定した文字数分の文字列を返します。

構文
Left(文字列,文字数)

 

LEFT関数のサンプルコード

f:id:auroralights:20201231122909p:plain

セルA1へは、変数aに格納された文字列の内、左端から2文字分が代入されます。

セルA2へは、変数aに格納された文字列の内、左端から5文字分が代入されます。

 

Right関数

Right関数は引数に指定した文字列の右端から、引数で指定した文字数分の文字列を返します。

構文
Right(文字列,文字数)

 

RIGHT関数のサンプルコード

f:id:auroralights:20201231123148p:plain

セルA1へは、変数aに格納された文字列の内、右端から2文字分が代入されます。

セルA2へは、変数aに格納された文字列の内、右端から5文字分が代入されます。

 

Mid関数

Mid関数は引数に指定した文字列の開始位置で指定した位置から、引数で指定した文字数分の文字列を返します。

構文
Mid(文字列,開始位置,文字数)

Mid(文字列,開始位置)
※文字数は省略可能です。省略した場合は、開始位置から後ろの全ての文字列を返します。

 

MID関数のサンプルコード

f:id:auroralights:20201231123739p:plain

セルA1へは、変数aに格納された文字列の内、1文字目から2文字分の文字列が代入されます。

セルA2へは、変数aに格納された文字列の内、1文字目以降のすべての文字列が代入されます。

セルA3へは、変数aに格納された文字列の内、5文字目から3文字分の文字列が代入されます。

セルA4へは、変数aに格納された文字列の内、5文目以降のすべての文字列が代入されます。

 

Instr関数について

Instr関数は引数に指定した文字列の中から指定した文字列を先頭から検索して、最初に見つかった文字位置を返します。
検索文字列が存在しない場合は0を返すため、検索文字列が文字列に存在しているかどうかの確認で使用することもあります。

 

構文1
Instr(文字列,検索文字列)

構文2
Instr(開始位置,文字列,検索文字列,比較モード)
開始位置:
文字列の何文字目から検索を開始するかを指定。省略可。省略した場合は先頭から検索します。
文字列:
検索対象の文字列。省略不可
検索文字列:
検索する文字列。省略不可
比較モード:
vbBinaryCompare(バイナリモード:全角半角・大文字・小文字を区別します)、vbTextCompare(テキストモード:全角半角・大文字・小文字は区別しません)を指定します。省略可。比較モード指定時は、開始位置も指定する必要があります。

 

Instr関数のサンプルコード

f:id:auroralights:20201231124559p:plain

セルA1へは、検索文字列の「県」が文字列の中の何文字目かを代入しています。

セルA2へは、検索文字列の「府」が文字列の中の何文字目かを代入しています。

サンプルコード2

f:id:auroralights:20201231125517p:plain

兵庫県神戸市○〇○町5-5-5」という文字列から「県」の1文字後からすべての文字数を返しています。
Mid関数の開始位置にInstr関数を使って県の文字位置を取得、その文字位置に+1をしています。

 

Len関数について

Len関数は引数で指定した文字列の文字数を返します。

 

構文
Len(文字列) 

 

サンプルコード

f:id:auroralights:20201231170606p:plain