Excel/VBA

TOP

対象のセル範囲にスペース(空白)が含まれている値を削除する方法

スペース(空白)を削除する方法の説明画像です

文字列のスペース(空白)を削除する方法

スペースを削除するには多くの場合、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)の削除が行えました。

スペース(空白)を削除する方法の説明画像です

関連記事