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

広告

セルの水平位置の設定で「均等割り付け」を設定した場合に、両端に空白を入れることが出来ます。

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

日○経○新○聞○社

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

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

○日○経○新○聞○社○

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

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

Dim range1 As Range

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

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

サンプルプログラム

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

testcellalign3.bas

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 )

関連記事 (一部広告含む)