VBA入門
セルの書式(配置,Alignment)

ExcelマクロVBAの基本と応用、エクセルVBAの初級・初心者向け解説
最終更新日:2021-09-03

第32回.セルの書式(配置,Alignment)


セル内での値を表示する位置(縦位置、横位置)をマクロVBAで指定できます。
「セルの書式設定」→「配置」で指定する内容です。



マクロVBAでの配置の指定

Range.プロパティ = 設定値
指定できるプロパティの設定値は以下になります。

プロパティ プロパティの説明 設定値 設定値の説明
HorizontalAlignment 横位置 xlCenter 中央
xlDistributed 均等割り付け
xlJustify 両端揃え
xlLeft
xlRight
VerticalAlignment 縦位置 xlBottom
xlCenter 中央
xlDistributed 均等割り付け
xlJustify 両端揃え
xlTop
WrapText 折り返し True する
False しない
Orientation 文字の向き -90 ~ 90 角度 (°)
xlDownward 下向き
xlHorizontal 水平方向
xlUpward 上向き
xlVertical 文字列は下向きでセルの中央に配置されます。
AddIndent 自動的にインデント True する
False しない
IndentLevel インデントのレベル 0 ~ 15
ShrinkToFit 自動的に縮小 True する
False しない
ReadingOrder 読む順序 xlRTL 右から左
xlLTR 左から右
xlContext 最初の文字に依存
MergeCells セルの結合 True する
False しない

文字列を均等に配置するには、

OrientationプロパティがxlVerticalのときには、VerticalAlignmentプロパティをxlVAlignDistributedに設定し、
OrientationプロパティがxlHorizontalのときは、HorizontalAlignmentプロパティをxlHAlignDistributedに設定します。

これら全てを記憶することは困難ですし、あまり意味がない事だと思います。
これらを簡単に調べる為にこそ、マクロの記録があるのです。
マクロの記録で作成されたマクロから、必要な部分をコピペで使用すれば良いでしょう。
ただし、その為にはプロパティの(英単語としての)意味くらいは理解しておき、
必要な部分だけをコピペできるようにしておく必要があります。


マクロVBAでの配置の使用例

セルを結合して中央揃え


Range("セル範囲").HorizontalAlignment = xlCenter
Range("セル範囲").VerticalAlignment = xlCenter
Range("セル範囲").MergeCells = True


MergeCellsはRangeのプロパティですが、
セルの結合に関しては、メソッドもあります。

Range("セル範囲").MergeCells = True
これは、
Range("セル範囲").Merge
これでも結合できます。



先にも書きましたが、ここでの設定を記憶する必要はありません。
必要となった時に、調べられるようにしておけば十分です。





同じテーマ「マクロVBA入門」の記事

第29回.セル・行・列の削除・挿入(Delete,Insert)
第30回.総合練習問題3
第31回.セルの書式(表示形式,NumberFormatLocal)
第32回.セルの書式(配置,Alignment)
第33回.セルの書式(フォント,Font)
第34回.セルの書式(塗りつぶし,Interior)
第35回.セルの書式(罫線,Border)
第36回.総合練習問題4
第37回.ブック・シートの指定
第39回.セルのクリア(Clear,ClearContents)
第40回.セルのコピー・カット&ペースト(Copy,Cut,Paste)


新着記事NEW ・・・新着記事一覧を見る

セル値でパス・ブック・シート名を指定|Power Query(M言語)入門(2023-02-07)
別ブックのシートを列可変で取り込む|Power Query(M言語)入門(2023-02-06)
ExcelとVBAの入門解説|エクセルの神髄(2022-12-14)
文字列のプロパティ名でオブジェクトを操作する方法|VBA技術解説(2022-12-14)
数字(1~50)を丸付き数字に変換するVBA|VBA技術解説(2022-11-15)
TEXTAFTER関数(テキストの指定文字列より後ろの部分を返す)|エクセル入門(2022-11-14)
TEXTBEFORE関数(テキストの指定文字列より前の部分を返す)|エクセル入門(2022-11-14)
TEXTSPLIT関数(列と行の区切り記号で文字列を分割)|エクセル入門(2022-11-12)
LAMBDA以降の新関数はVBAで使えるか|VBA技術解説(2022-11-11)
WRAPCOLS関数(1次元配列を指定数の列で折り返す)|エクセル入門(2022-11-08)


アクセスランキング ・・・ ランキング一覧を見る

1.最終行の取得(End,Rows.Count)|VBA入門
2.RangeとCellsの使い方|VBA入門
3.繰り返し処理(For Next)|VBA入門
4.変数宣言のDimとデータ型|VBA入門
5.セルのコピー&値の貼り付け(PasteSpecial)|VBA入門
6.マクロって何?VBAって何?|VBA入門
7.並べ替え(Sort)|VBA入門
8.Excelショートカットキー一覧|Excelリファレンス
9.エクセルVBAでのシート指定方法|VBA技術解説
10.Range以外の指定方法(Cells,Rows,Columns)|VBA入門




このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。


記述には細心の注意をしたつもりですが、
間違いやご指摘がありましたら、「お問い合わせ」からお知らせいただけると幸いです。
掲載のVBAコードは動作を保証するものではなく、あくまでVBA学習のサンプルとして掲載しています。
掲載のVBAコードは自己責任でご使用ください。万一データ破損等の損害が発生しても責任は負いません。



このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。
本文下部へ