ray88’s diary

お仕事で困ったとき用の自分用の覚書

Excel VBA 文字列の末尾の任意の文字を削除する

ExcelVBA 目次 - ray88’s diary
部品

Function RemoveTrailingCharacter(str As String, charToRemove As String) As String
'--------------------------------------------------
'機能: 文字列の末尾の指定した文字を削除する
'引数1:対象文字列
'引数2:削除対象文字
'戻り値:末尾の削除対象文字削除後の文字列
'----------------------------------------------------
    ' 文字列の長さをチェック
    If Len(str) > 0 Then
        ' 文字列の末尾が指定した文字であるかをチェック
        If Right(str, 1) = charToRemove Then
            ' 末尾の指定した文字を除いた文字列を返す
            RemoveTrailingCharacter = Left(str, Len(str) - 1)
        Else
            ' 末尾に指定した文字がなければそのままの文字列を返す
            RemoveTrailingCharacter = str
        End If
    Else
        ' 空の文字列はそのまま返す
        RemoveTrailingCharacter = str
    End If
End Function

部品呼び出しコード

Sub test()
    Dim testStr As String
    testStr = "山田さんこんにちは,"
    MsgBox RemoveTrailingCharacter(testStr, ",") ' "山田さんこんにちは" が出力される(カンマが削除されている)
End Sub