VBA関数のSpace関数を使用して、指定した数だけスペースを追加する方法をご説明します。
この関数は単体で使用するというよりも、スペース&文字列などで文字と併せて使うことが多く、文字列の成形にしようします。
「Len関数」と組み合わせる事で指定した値を、すべて同じ文字(桁)数に統一するなどに使用すると非常に便利です。
文字の数を取得するLen関数の「Len関数で文字列の文字数を取得する」をご覧ください。
同じを文字を指定した数だけ繰り返す方法は「String関数で指定した数だけ文字や改行を繰り返す」をご覧ください。
逆にスペースを削除する方法は以下記事をご覧ください。
1.Space関数の使い方
Space関数は指定した数だけスペースを返します。
構文は次のように記述します。
Space(数値)
「数値」には繰り返したい数を指定します。
「数値」にマイナスの値を指定するとエラーとなります。
2.サンプルコード
基本的なコード
Sub Sample1()
MsgBox "ここから" & Space(10) & "ここまでです。"
End Sub
文字(桁)数を合わせるコード
Len関数と組み合わせて、文字数を合わせる方法です。
次のように123~1234567890までの各桁数の数字をスペースですべて10桁に揃えて、B列に出力します。
数字の末尾にスペースがあった場合、セルの表示書式が標準の場合はスペースが省略されるため、意図的にB列の表示書式を文字列に変更しています。
Sub Sample2()
Dim i As Integer
Dim n As Integer
Dim MyInt As Integer
Dim MyStr As String
n = 10 '10桁に揃えるための変数
For i = 1 To 8
MyInt = Len(Cells(i, 1)) 'A列の数字の文字数を取得
MyStr = Cells(i, 1) & Space(n - MyInt) 'A列の数値と(10-文字数)分をスペース付与
Cells(i, 2) = MyStr 'セルに反映
Next i
End Sub