セルの文字の横と縦の配置を設定

セルの文字の配置はExcelの操作では、セル右クリック→セルの書式設定→配置タブ、で設定します。Excelを使っていれば必ずと言っていいほど利用する機能です。

VBAでも同様の設定を行うことが出来ます。

セルの書式設定とプロパティの関係が以下の図になります。

ここでは図の黄色部分の、横位置を設定するHorizontalAlignmentプロパティと、縦位置を設定するVerticalAlignmentプロパティについて説明します。

構文

Rangeオブジェクトにはセル範囲を指定します。

どちらのプロパティも取得と設定を行うことが出来ます。

複数のセルをRangeオブジェクトで指定されている場合で、各セルの配置位置が異なる場合、取得結果はNullになります。

以下はNullが返却されるサンプルです。

実行結果
Null

横:HorizontalAlignmentの設定値

いくつかの設定値は他のプロパティが設定できなくなるものがあります。

定数 内容 設定できなくなるプロパティ
xlGeneral 1 (既定値)標準設定 AddIndent(前後スペース)
xlLeft -4131 左詰め AddIndent(前後スペース)
xlCenter -4108 中央 AddIndent(前後スペース)
xlRight -4152 右詰め AddIndent(前後スペース)
xlFill 5 繰り返し AddIndent(前後スペース)
ShrinkToFit(縮小表示)
Orientation(角度)
xlJustify -4130 両端揃え AddIndent(前後スペース)
ShrinkToFit(縮小表示)
xlCenterAcrossSelection 7 選択範囲内で中央 AddIndent(前後スペース)
Orientation(角度)
xlDistributed -4117 均等割り付け ShrinkToFit(縮小表示)

両端揃えはとても便利な設定です。セル内で折り返しがある場合に右端に文字を揃えてくれるので見やすさが向上します。

縦:VerticalAlignmentの設定値

いくつかの設定値は他のプロパティが設定できなくなるものがあります。

定数 内容 設定できなくなるプロパティ
xlTop -4160 上詰め なし
xlCenter -4108 中央揃え なし
xlBottom -4107 下詰め なし
xlJustify -4130 両端揃え ShrinkToFit(縮小表示)
xlDistributed -4117 均等割り付け ShrinkToFit(縮小表示)

 

横配置のサンプルコード

C列にはセルの横幅より長い文、D列には短い文で1行目から8行目までの横位置を各設定値に変更しています。

縦位置のサンプルコード

C列にはセルの横幅より長い文、D列には短い文で1行目から5行目までの縦位置を各設定値に変更しています。