
文字列のスペース(空白)を削除する方法
スペースを削除するには多くの場合、Replaceという関数(置換を行う関数)を使用します。
Replaceの使用方法は下記のとおりです。
Replace(置換する文字列, 置換前の文字列, 置換後の文字列)
まずは、セルA1に「 Hello World 」という文字列が入っていたとして、その文字列のスペース(空白)を削除します。
下記がスペース(空白)を削除するサンプルコードです。
サンプルコード
Sub スペース削除()
Range("A1").Value = Replace(Range("A1").Value, " ", "")
End Sub
上記のサンプルコードを実行すると、スペース(空白)が削除されました。

半角・全角スペースを削除する方法
スペースには、半角スペースと全角スペースの2種類があります。
両方のスペースを削除するには、それぞれを置換する必要があります。
以下のサンプルコードでは、半角・全角スペースの両方を置換する方法を示しています。
サンプルコード
Sub スペース削除()
Range("A1").Value = Replace(Replace(Range("A1").Value, " ", ""), " ", "")
End Sub
このサンプルコードでは、まず半角スペースを削除し、その後に全角スペースも削除しています。Replace関数を2回使用することで、両方のスペースを確実に取り除いています。
対象のセル範囲のスペースを削除する方法
下記の画像のようにA1~A5の範囲のスペースを全て削除したいとします。

指定した範囲のスペースを削除する場合、Excelに標準搭載されている置換機能をVBAから使うと、より高速に処理が行えます。

下記のサンプルコードは標準搭載されている置換機能を使用した、スペース削除の方法です。
サンプルコード
Sub 半角全角スペース削除()
'置換範囲を指定
Dim RepRng As Range
Set RepRng = Range("A1:A5")
'半角スペースの置換
RepRng.Replace What:=" ", Replacement:="", LookAt:=xlPart, MatchCase:=False
'全角スペースの置換
RepRng.Replace What:=" ", Replacement:="", LookAt:=xlPart, MatchCase:=False
'リソース開放
Set RepRng = Nothing
End Sub
上記のサンプルコードを実行すると、対象範囲(A1~A5)の削除が行えました。
