VBAで文字列の先頭を削除する方法|Mid関数・Replace関数の使い分け
目次
スポンサードリンク
Excel VBAでは、文字列の先頭の文字や特定の文字列を削除したい場面がよくあります。この記事では、文字数で削除する方法と、特定文字列を削除する方法の2パターンに分けて紹介します。
先頭から文字数を指定して削除する方法
先頭から n文字を削除したいときは、Mid関数を使います。 Mid関数の基本的な構文は以下の通りです。第1引数で対象の文字列を渡し、第2引数で取り出す文字列の開始位置を数字で指定します。
Mid(文字列, 開始位置)
以下例では、先頭から1文字だけ削除しています。
Dim str As String
str = "ABC123"
str = Mid(str, 2)
' str の内容は "BC123"
特定の先頭文字列を削除する方法
特定の語句が先頭にある場合、それを 明示的に削除するには Replace関数を使います。 Replace関数の基本的な構文は以下の通りです。
第1引数で対象の文字列を、第2引数は削除したい文字列を指定します。第3引数を空にすることで、対象の文字列を削除することができます。 第4引数の開始位置を1、第5引数の回数を1にすることで最初に出てくる文字の1回だけ置換されます。
Replace(文字列, 検索文字列, 置換文字列, 開始位置, 置換回数)
以下例では、文字列の先頭にある「abc-」部分を削除しています。
Dim str As String
str = "abc-123"
str = Replace(str, "abc-", "", 1, 1)
' str の内容は "123"
まとめ
文字列処理はVBAで頻出する操作のひとつです。先頭の固定パターンを除去したい場合や、文字数を指定して先頭部分を取り除きたいときに役立つテクニックです。
Excel VBAのテクニックを幅広く学べるおすすめ書籍
基本の定番ネタから応用的なテクニックまで、網羅的にテクニックを学べる書籍です。Microsoft365/Office2024対応。手元に置いておきたい一冊です。
リンク
中級者以上におすすめの書籍
VBAというプログラミング言語を本格的に学びたい人におすすめの書籍です。VBAの言語としての仕組みをしっかり理解したい人に。
リンク