簡単な方法はReplace関数
文字列内にあるスペースを削除する場合に一番簡単な方法はReplace関数を使う方法です。Replace関数は指定文字列を別の文字列に置換する関数ですが、スペースを空文字列に置換するように書くとスペース文字の削除になります。Replace関数はスペースが半角の場合と全角の場合にも対応できます。
Replace関数の詳細については「VBAで文字列を別の文字列に置換する(Replace)」をご参照ください。
文字列内のスペースを削除する他の方法としては、文字列を1文字ずつループしながら判定処理を行う方法や、正規表現を扱うRegExpクラスのReplaceメソッドを使う方法などがありますが、いずれもコーディング量が多くなりますしReplace関数を使う方がラクです。
なお、文字列の両端のスペースを削除したい場合は「文字列の両端のスペースを除去する(Trim、LTrim、RTrim)」をご参照ください。
Replace関数での文字列内のスペースの削除
文字列に含まれるスペースを削除するコードです。
1 2 3 4 5 6 7 8 |
Sub DeleteSpace() Dim s s = "a b c " s = Replace(s, " ", "") s = Replace(s, " ", "") End Sub |
変数sの文字列に含まれるスペースは、bとcの間は全角スペースで、他は半角スペースです。
Replace関数を2度実行しているのは、1つ目は半角スペースを””に置換し、2つ目は全角スペースを””に置換するためです。
処理が終わると変数sには”abc”が設定された状態になります。