【エクセルVBA】文字列内の空白を削除

当ページのリンクには広告が含まれています。

スポンサーリンク

クリックしてジャンプ

前後の空白を削除

Trim関数は 文字列の先頭と末尾の空白文字を削除します

入力値の前後に不要な空白がある場合に有効です

Dim trimmedString As String
trimmedString = Trim("  Hello World  ")
MsgBox "'" & trimmedString & "'"

セル内の空白を削除する

セルA1の内容をトリムして空白を削除します

Sub TrimCell()
    Dim cellValue As String
    cellValue = Range("A1").Value
    Range("A1").Value = Trim(cellValue)
End Sub

複数セルのデータを一括で処理する

複数のセルのデータを一括でトリムする方法です

シート上の範囲A1からA10までのデータの前後の空白を削除します。

Sub TrimMultipleCells()
    Dim cell As Range
    For Each cell In Range("A1:A10")
        cell.Value = Trim(cell.Value)
    Next cell
End Sub

内部の空白は削除されない

Trim関数は文字列の先頭と末尾の空白を削除しますが、文字列内部の空白は削除しません

内部の空白を削除するにはReplace関数を併用する必要があります

Sub TrimAndRemoveInnerSpaces()
    Dim cellValue As String
    cellValue = Range("A1").Value
    cellValue = Trim(cellValue)
    cellValue = Replace(cellValue, " ", "")
    Range("A1").Value = cellValue
End Sub

セルの値が空の場合の処理

空のセルに対してTrim関数を実行しても問題はありませんが、セルが空かどうかを確認することで 効率的なコードを書くことができます

Sub TrimOnlyIfNotEmpty()
    Dim cellValue As String
    cellValue = Range("A1").Value
    If cellValue <> "" Then
        Range("A1").Value = Trim(cellValue)
    End If
End Sub

スポンサーリンク

クリックしてジャンプ