動作検証バージョン:64bit Windows 10 Pro + 32bit Excelバージョン2102 ビルド13801.20360 Microsoft Store)
「excel vba 最後の文字を削除」
といった検索キーワードで、時折アクセスがあります。
Excel VBAでセル内データから最後の1文字を削除するには、どのようなコードを書けばいいのかを探していた方による検索でしょう。
検索キーワード
「vba 末尾 文字削除」
「vba 一番右の文字を削除」
も、同じでしょうか。
[スポンサードリンク]
末尾の1文字を削除するサンプルマクロ
末尾・最後・一番右の1文字を削除したいセルを選択しておいてから、以下のSubプロシージャを実行してみてください。
Sub 末尾の1文字を削除する()
Dim org As String, rng As Range
For Each rng In ActiveWindow.RangeSelection
org = rng.Value
If org <> "" Then
rng.Value = Left(org, Len(org) - 1)
End If
Next
End Sub
Dim org As String, rng As Range
For Each rng In ActiveWindow.RangeSelection
org = rng.Value
If org <> "" Then
rng.Value = Left(org, Len(org) - 1)
End If
Next
End Sub
サンプルマクロで行っている処理について
For Each~Nextループで選択されているセルを順番に処理を開始します。選択セルを取得するのに、ここではWindowオブジェクトのRangeSelectionプロパティを使っています。
For Each rng In ActiveWindow.RangeSelection
元のセルの値を、String型変数orgに代入し、
org = rng.Value
空白文字列でなかったときに、
If Len(org) <> "" Then
VBAのLeft関数を使って、末尾の1文字を削除したデータを、RangeオブジェクトのValueプロパティに設定しています。
rng.Value = Left(org, Len(org) - 1)
[スポンサードリンク]
Home » Excel VBA Rangeオブジェクト » 末尾・最後の1文字を削除するExcelマクロ