Excel VBA Space関数で指定した数だけスペースを追加する

VBA関数

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
タイトルとURLをコピーしました