【エクセル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