Vba: 文字列から最後の文字を削除する方法
VBA を使用して文字列から最後の文字を削除するには、次の基本構文を使用できます。
Sub RemoveLastChar()
Dim i As Integer
Dim myString As String
For i = 2 To 11
myString = Range(" A " & i)
Range(" B " & i) = Left(myString, Len(myString) - 1)
Next i
End Sub
この特定の例では、範囲A2:A11内の各文字列から最後の文字を削除し、範囲B2:B11に結果を表示します。
次の例は、この構文を実際に使用する方法を示しています。
例: VBA を使用して文字列から最後の文字を削除する
Excel に次のバスケットボール チーム名のリストがあるとします。
各チーム名から最後の文字を削除したいとします。
これを行うには、次のマクロを作成できます。
Sub RemoveLastChar()
Dim i As Integer
Dim myString As String
For i = 2 To 11
myString = Range(" A " & i)
Range(" B " & i) = Left(myString, Len(myString) - 1)
Next i
End Sub
このマクロを実行すると、次の出力が表示されます。
列 B には、列 A の各文字列の最後の文字が削除されて表示されます。
文字列から最後の n 文字を削除したい場合は、 Leftメソッドの1 を別の数字に置き換えるだけです。
たとえば、次のマクロを作成して、文字列から最後の2文字を削除できます。
Sub RemoveLastTwoChar()
Dim i As Integer
Dim myString As String
For i = 2 To 11
myString = Range(" A " & i)
Range(" B " & i) = Left(myString, Len(myString) - 2)
Next i
End Sub
このマクロを実行すると、次の出力が表示されます。
列 B には、列 A の各文字列の最後の 2 文字が削除されて表示されます。
注: VBA Leftメソッドの完全なドキュメントはここにあります。
追加リソース
次のチュートリアルでは、VBA を使用して他の一般的なタスクを実行する方法について説明します。
VBA: 文字列内の文字の出現を数える方法
VBA: 文字列に別の文字列が含まれているかどうかを確認する方法
VBA: 特定のテキストを含むセルを数える方法