【VBA】文字の縦方向の配置を変更する(複数セル、行、列指定)

文字の縦位置(垂直方向)を変更する時は、VerticalAlignment プロパティに「下詰め」や「中央揃え」を定数で設定します。

VerticalAlignmentに設定できる定数一覧

定数名 設定される文字の縦位置
xlTop 上詰め
xlCenter 中央揃え
xlBottom 下詰め
xlJustify 両端揃え
xlDistributed 均等割り付け

セル(1セル、複数セル、全てのセル)の縦位置を変更する

1セルの時

Range(“セル番地”).VerticalAlignment = 縦位置の定数

Cells(行番号,列番号).VerticalAlignment = 縦位置の定数

1つのセルで文字の縦位置(垂直方向)を変更する時は、対象セルの指定を「Rangeのセル番地」か「Cellsの行番号・列番号」でします。

Rangeのセル番地は、ダブルクォーテーションで囲みます。

コード

A1セルを「中央揃え」に設定します。

 

複数セルの時

Range(“左上セル番地:右下セル番地”).VerticalAlignment = 縦位置の定数

複数セルで文字の縦位置(垂直方向)をまとめて設定をする時は、Rangeで対象範囲の左上のセル番地と右下のセル番地を:でつないで指定します。

指定したセル番地全体をダブルクォーテーションで囲みます。

コード

A1~E2のセルすべてを「下詰め」に設定します。

 

全てのセル(シート全体)の時

Cells.VerticalAlignment = 縦位置の定数

全てのセルで縦位置(垂直方向)をまとめて設定をする時は、Cellsで指定します。

 

Cellsは引数指定なしにすれば、すべてのセルを操作できます。

逆に引数指定してCells(1,1)とすると、A1セルのみを操作できます。

コード

全てのセルを「下詰め」に設定します。

 

行(1行、複数行)の縦位置を変更する

1行の時

Rows(行番号).VerticalAlignment = 縦位置の定数

1行の文字の縦位置(垂直方向)を変更する時は、Rowsの行番号で対象行を指定します。

1行だけの時は、行番号をダブルクォーテーションで囲まなくてOKです。

コード

1行目を「中央揃え」に設定します。

 

複数行の時

Rows(“開始行番号:終了行番号”).VerticalAlignment = 縦位置の定数

複数行で縦位置(垂直方向)をまとめて設定をする時は、Rowsで対象範囲の開始行番号(1番上)と終了行番号(1番下)を:でつないで指定します。

1行を指定する時と違い、複数行指定する時は行番号全体をダブルクォーテーションで囲みます。

コード

1行目~5行目のセルすべてを「下詰め」に設定します。

 

列(1列、複数列)の縦位置を変更する

1列の時

Columns(“列記号”).VerticalAlignment = 縦位置の定数

1列の文字の縦位置(垂直方向)を変更する時は、Columnsの列記号(Aから始まる記号)で対象列を指定します。

この時、列記号をダブルクォーテーションで囲みます。

行と同じように、列番号(1からの始まる数値)でも列の指定はできます。この時は数値なので、ダブルクォーテーションで囲みません。

コード

1列目を「中央揃え」に設定します。

 

複数列の時

Columns(“開始列記号:終了列記号”).VerticalAlignment = 縦位置の定数

複数列で縦位置(垂直方向)をまとめて設定をする時は、Columnsで対象範囲の開始列記号(1番左)と終了列記号(1番右)を:でつないで指定します。

列記号全体をダブルクォーテーションで囲みます。

1列の時は数値でも指定できたけど、複数列を数値でするとエラーになります。

NG例) Columns(“1:5”).VerticalAlignment = xlCenter

コード

1列目~5列目のセルすべてを「下詰め」に設定します。

関連記事

VBAテクニック辞典
成果を出す5つのポイント
VBAテクニック辞典
えくとしょ | 初心者のためのエクセルとVBAの図書館
タイトルとURLをコピーしました