即効テクニック |
文字の配置位置を2つのプロパティを利用して設定します ●詳細● HorizontalAlignmentプロパティでは、対象のオブジェクト内における横方向での文字列の配置位置を設定します。縦方向の配置位置はVerticalAlignmentプロパティで設定します。指定に使用する定数は下の表ABを参照してください。 HorizontalAlignmentプロパティには、RangeオブジェクトとStyleオブジェクトだけに適用できる定数が3つありますので、その他のオブジェクトに対しては使わないようにしてください。 構文 Object.HorizontalAlignment 横位置を設定 設定/取得 Object.VerticalAlignment 縦位置を設定 設定/取得 設定項目 内容 Object Range、Style、AxisTitle、ChartTitle、DataLabel、 DataLabelsコレクション、DisplayUnitLabel、 TextFrameオブジェクト [省略不可] ・表A HorizontalAlignmentプロパティで使用する定数一覧(XlHAlignクラス) 定数 値 内容 対象オブジェクト xlHAlignCenter -4108 中央揃え 全て xlHAlignDistributed -4117 均等割り付け 全て xlHAlignJustify -4130 両端揃え 全て xlHAlignLeft -4131 左詰め 全て (インデント) xlHAlignRight -4152 右詰め 全て xlHAlignCenterAcrossSelection 7 選択範囲内 Range、Style で中央 xlHAlignFill 5 繰り返し Range、Style xlHAlignGeneral 1 標準 Range、Style ・表B VerticalAlignmentプロパティで使用する定数一覧(XlVAlignクラス) 定数 値 内容 対象オブジェクト xlVAlignBottom -4107 下詰め 全て xlVAlignCenter -4108 中央揃え 全て xlVAlignDistributed -4117 均等割り付け 全て xlVAlignJustify -4130 両端揃え 全て xlVAlignTop -4160 上詰め 全て 次のサンプル1は、セル内の文字配置を、横位置、縦位置ともに中央揃えに設定します。 ●サンプル1● Sub HorizontalAndVerticalAlignmentSamp1() With Range("B2") '---セルB2に対して .HorizontalAlignment = xlHAlignCenter '---横位置 中央揃え .VerticalAlignment = xlVAlignCenter '---縦位置 中央揃え End With End Sub 縦位置、横位置ともに、文字の入力されたセル内での中央位置に配置されています。 複数セルにまたがったセル領域内で文字の配置を設定したい場合には、そのセル範囲を結合するとよいでしょう。しかし、複数のセル範囲内での横位置の中央揃えに関しては、セルを結合することなく実現可能です。 次のサンプル2を見てください。 ●サンプル2● Sub HorizontalAndVerticalAlignmentSamp2() With Range("A2:I2") .HorizontalAlignment = xlHAlignCenterAcrossSelection '---選択(対象の)範囲内で中央揃え End With End Sub 定数xlHAlignCenterAcrossSelectionを指定していますので、「選択範囲内で中央」の配置になるわけですが、マクロで行う分には、対象範囲が明示してあれば、対象となる範囲を選択しておく必要はありません。