6.4 文字の配置に関する書式設定
文字の表示位置(センタリングなど)を設定するときの方法です。これらの文字に関する書式を設定する場合は、横位置の調整には???.HorizontalAlignmentプロパティ、縦位置の調整には???.VerticalAlignmentプロパティを使って行います。

ちなみに、???の部分は、お馴染みのRangeColumnsRowsCellsSelectionなどのセルや行列を指定するオブジェクトです。詳しくは、5.1 セルや行列を扱うための基本をどうぞ。
文字位置の設定例
???.HorizontalAlignmentプロパティと???.VerticalAlignmentプロパティの使い方をRangeを使って説明します。例では、セルA1の文字配置を横位置が中央揃え、縦位置が下詰めにしています。

Sub prcHorizontalAlignment()

    With Range("A1")
        'セルA1の文字列横位置を中央揃えにします
        .HorizontalAlignment = xlCenter

        'セルA1の文字列縦位置を下詰めにします
        .VerticalAlignment = xlBottom
    End With

End Sub
 ※このエクセルマクロはワークシート内へ記述するマクロです

これで、指定したセルの文字の表示位置が設定されます。WithEnd Withの部分が表示位置の設定(プロパティの設定)で、???.HorizontalAlignmentなどのプロパティに設定できる値は以下の通りです。
.HorizontalAlignment
横方向の表示位置設定です。よく使う物は図の6種類でしょうか…。他に、両揃え(xlJustify)、繰り返し(xlFill)があります。

標準  :xlGeneral
左揃え* :xlLeft
中央揃え:xlCenter
右揃え* :xlRight
選択範囲内で中央:xlCenterAcrossSelection
均等割り付け*  :xlDistributed


*付きを設定した場合は、段落(インデント)の設定が可能です
.VerticalAlignment
縦方向の表示位置設定です。よく使う物は図の4種類でしょうか…。他に、両揃え(xlJustify)があります。

上詰め :xlTop
中央揃え:xlCenter
下詰め :xlBottom
均等割り付け:xlDistributed
段落の設定
???.HorizontalAlignmentプロパティへ、左揃え(xlLeft)、右揃え(xlRight)、均等割り付け(xlDistributed)のいずれかを指定した場合は段落(インデント)の設定が有効となります。段落の設定には、???.IndentLevelプロパティへ数値で指定します。???の部分は、セルや行・列を表すオブジェクトです。

例では、セルA1〜A5を左寄せし、インデントへそれぞれ0〜4を設定しています。

Sub prcIndentLevel()

    With Range("A1")
        'セルA1の文字列横位置を左揃えにします
        .HorizontalAlignment = xlLeft
        'セルA1の段落数を0にします
        .IndentLevel = 0
    End With

    With Range("A2")
        'セルA2の文字列横位置を左揃えにします
        .HorizontalAlignment = xlLeft
        'セルA2の段落数を1にします
        .IndentLevel = 1
    End With

    With Range("A1")
        'セルA3の文字列横位置を左揃えにします
        .HorizontalAlignment = xlLeft
        'セルA3の段落数を2にします
        .IndentLevel = 2
    End With

    With Range("A1")
        'セルA4の文字列横位置を左揃えにします
        .HorizontalAlignment = xlLeft
        'セルA4の段落数を3にします
        .IndentLevel = 3
    End With

    With Range("A1")
        'セルA5の文字列横位置を左揃えにします
        .HorizontalAlignment = xlLeft
        'セルA5の段落数を4にします
        .IndentLevel = 4
    End With

End Sub
 ※このエクセルマクロはワークシート内へ記述するマクロです
Copyright(C) 1999-2006 結城圭介。 All rights reserved