【Excel VBA】文字列の最後の1文字を削除したい

VBAで文字列を扱っていると、最後の1文字だけ削除したい(消したい)といった場面がよくあります。

この記事では、文字列の最後の1文字を削除する方法についてご紹介します。

Left関数とLen関数で文字列の最後の1文字を消す

Left関数は、左から○文字目までを返す関数です。

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

Len関数は、文字列の文字数を返す関数です。

文字数=Len(文字列)

この二つを組み合わせることで、最後の1文字を削除することができます。

最後の1文字を消すサンプルコード

Sub 最後の1文字を消す()
    Dim Name As String
    Name = "山田太郎様"
    Name = Left(Name, Len(Name) - 1)  ’1文字消す
    MsgBox Name
End Sub

■解説

上記のサンプルコードは、Nameの文字列を1文字消して、メッセージボックスで表示するサンプルコードです。

Lenは、”山田太郎様”の文字数である5を返します。そのため、5-1=4となり、

Left(”山田太郎様”,4)となります。

Left関数は、左から4文字返すことになるため、最後の1文字である”様”を除いた、名前だけの”山田太郎”を返します。

Lenは文字列の文字数をそのまま返すので1文字消すときは、「-1」します。2文字消す場合は、「-2」にします。

コメント

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