VBAで文字列を扱っていると、最後の1文字だけ削除したい(消したい)といった場面がよくあります。
この記事では、文字列の最後の1文字を削除する方法についてご紹介します。
Left関数とLen関数で文字列の最後の1文字を消す
Left関数は、左から○文字目までを返す関数です。
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」にします。
コメント