均等割り付けで両端に空白を入れる

セルの水平位置の設定で「均等割り付け」を設定した場合に、両端に空白を入れることが出来ます。ここでは Excel VBA を使って均等割り付けで両端に空白を入れる方法について解説します。

(Last modified: )

均等割り付けで両端に空白を入れる

均等割り付けは次のようなルールでセル内に文字を表示しています。例として日経新聞社という文字を均等割り付けで表示する場合で考えてみましょう。

太○陽○新○聞○社

上記で○の部分は空白の領域です。全ての○は同じ大きさの空白の領域となります。セルの幅が大きくなれば、○の大きさを調整するわけです。

次に均等割り付けで両端に空白を入れる場合には次のようになります。

○太○陽○新○聞○社○

今度は最初と最後にも同じように空白が入るようになります。○の大きさは全て同じですので、セルの大きさが同じならば両端に○が増えた分だけ○の部分の領域は小さくなりますが、両端に空白がありので読みやすくなります。

両端に空白を設定するにはRangeオブジェクトの「AddIndent」プロパティで設定します。

Dim range1 As Range

Set range1 = Range("A1")
range1.HorizontalAlignment = xlDistributed
range1.AddIndent = True

設定する値は空白を設定するかどうかだけを指定しますので「True」か「False」を設定します。

サンプルプログラム

では簡単なサンプルで試してみましょう。

Sub テスト()
    
    Range("A1:B2").Value = "日本語"
    
    Range("A1:B2").HorizontalAlignment = xlDistributed
    Range("A1:B1").AddIndent = False
    Range("A2:B2").AddIndent = True
        
End Sub

上記マクロを実行すると次のようになります。

セルの文字配置の設定

セルの大きさによって、均等割り付けの空白がどのように配分されるのか確認できると思います。

-- --

Excel VBA を使って均等割り付けで両端に空白を入れる方法について解説しました。

( Written by Tatsuo Ikura )

プロフィール画像

著者 / TATSUO IKURA

これから IT 関連の知識を学ばれる方を対象に、色々な言語でのプログラミング方法や関連する技術、開発環境構築などに関する解説サイトを運営しています。