【ExcelVBA】文字列の先頭・末尾から指定した文字数の文字を削除する関数


この記事はプロモーションを含みます。

ExcelVBAで文字列の先頭、末尾から1文字削除する関数はよくありますが、より汎用的にするため、指定した文字数の文字を削除する関数を作成してみました。

先頭の文字を削除

文字列の先頭から指定した文字数を削除します。

実行方法・出力結果

以下のように実行します。
→delHeadStr(“文字列”,文字列の先頭から削除したい文字数)
*「文字列の先頭から削除したい文字数」は省略可能で、省略した場合は、1文字として扱われます。

Sub main1()
    Debug.Print (delHeadStr("あいうえお")) '・・・「いうえお」(先頭から1文字削除されます。)
    Debug.Print (delHeadStr("あいうえお", 2)) '・・・「うえお」(先頭から2文字削除されます。)
End Sub

ソースコード

Public Function delHeadStr(ByVal str As String, Optional delLength As Long = "1") As String
    delHeadStr = right(str, Len(str) - delLength)
End Function

末尾の文字を削除

文字列の末尾から指定した文字数を削除します。

実行方法・出力結果

以下のように実行します。
→delEndStr(“文字列”,文字列の末尾から削除したい文字数)
*「文字列の末尾から削除したい文字数」は省略可能で、省略した場合は、1文字として扱われます。

Sub main2()
    Debug.Print (delEndStr("あいうえお")) '・・・「あいうえ」(末尾から1文字削除されます。)
    Debug.Print (delEndStr("あいうえお", 2)) '・・・「あいう」(末尾から1文字削除されます。)
End Sub

ソースコード

Public Function delEndStr(ByVal str As String, Optional delLength As Long = "1") As String
    delEndStr = left(str, Len(str) - delLength)
End Function

今回は以上になります。簡単で関数化するほどでもないですがメモ程度に残しておきます。

コメント

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