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
今回は以上になります。簡単で関数化するほどでもないですがメモ程度に残しておきます。
リンク
コメント