「配置」を最速理解する エクセルVBA

vbacellsplacementeyecatch

エクセルVBAでセルの書式設定の「配置」についてです。
配置に関連するプロパティ、特にAlignmentなどVBAの記述方法は重要なものから習得していきましょう。

こんにちは じゅんぱ店長 (@junpa33) です。

エクセルVBAの操作の中での基本中の基本 セルの書式設定。その中で今回は「セルの文字配置」についてです。

セルの表示形式の設定と同様、非常に重要な設定ですので、しっかり理解しておきましょう。

セルの配置は書式設定のこの部分のことです

セル内の文字表示位置、表示方法、文字の方向、セルの連結などをコントロールします。

vbacellsplacement001

セルの「配置」それぞれを設定するVBAコードを知る

セルの配置タグの項目では、

に分類されています。この順に沿って説明していきます。

文字の配置

ここでは、横位置・インデント・縦位置の項目があります。

横位置の設定

横位置の設定にはHorizontalAlignmentプロパティを利用します。

HorizontalAlignmentプロパティ

 構文 

Rangeオブジェクト.HorizontalAlignment = 設定値

デフォルトでは、設定値が「標準 xlHAlignGeneral」になっています。

位置 プロパティ名 設定値 設定の説明
横位置 HorizontalAlignment xlHAlignGeneral 標準
xlLeft 左詰め
xlCenter 中央揃え
xlRight 右詰め
xlHAlignFill 繰り返し
xlJustify 両端揃え
xlHAlignCenterAcrossSelection 選択範囲内で中央
xlDistributed 均等割り付け

インデント

インデントは、左と右に「スぺース」付け加える機能を持っています。

インデントを設定するプロパティは2種類あり、「Addindentプロパティ」と「IndentLevelプロパティ」になります。

表示に違いがあります
  •  「Addindentプロパティ」は文字列の左右に、【半角スペース】程のスペースを付け加えます。
  •  「IndentLevelプロパティ」は文字列の端に、レベル1で【半角スペース3つ分】程のスペースを付け加えます。

Addindentプロパティ

 構文 

Rangeオブジェクト.Addindent = True (or False )

デフォルトでは不可(False)の設定です。

解除方法は「False」を指定します。

利用方法は【 HorizontalAlignmentプロパティで設定値をxlDistributed(均等割り付け) 】に設定した場合にのみ使用することが出来ます。

IndentLevelプロパティ

 構文 

Rangeオブジェクト.IndentLevel = 設定値

設定値は「1から250までの整数値」になります。

解除方法は「0」を設定値として指定します。

利用方法は【 HorizontalAlignmentプロパティで設定値が「xlLeft」「xlRight」「xlDistributed」の各設定値の時】に利用することが出来ます。

縦位置の設定

縦位置の設定にはVerticalAlignmentプロパティを利用します。

VerticalAlignmentプロパティ

 構文 

Rangeオブジェクト.VerticalAlignment = 設定値

デフォルトでは、設定値が「中央揃え xlCenter」になっています。

位置 プロパティ名 設定値 設定の説明
縦位置 VerticalAlignment xlTop 上詰め
xlCenter 中央揃え
xlBottom 下詰め
xlJustify 両端揃え
xlDistributed 均等割り付け

文字の制御

ここでは、折り返して全体を表示・縮小して全体を表示・セルを結合の項目があります。

折り返して全体を表示する

折り返して全体を表示する設定にはWrapTextプロパティを利用します。

WrapTextプロパティ

 構文 

Rangeオブジェクト.WrapText = True (or False )

  •  「True」であれば折り返しを行う
  •  「False」であれば折り返しは行わない

デフォルト値は「False」です。

縮小して全体を表示する

縮小して全体を表示する設定にはShrinkToFitプロパティを利用します。

ShrinkToFitプロパティ

 構文 

Rangeオブジェクト.shrinkToFit = True (or False )

  •  「True」であれば縮小して全体を表示を行う
  •  「False」であれば縮小して全体を表示は行わない

デフォルト値は「False」です。

セルを結合する

セルを結合する設定はMergeCellsプロパティを利用します。

MergeCellsプロパティ

 構文 

Rangeオブジェクト範囲.MergeCells = True (or False )

  •  「True」であれば指定セルを結合する
  •  「False」であれば指定セルの結合を解除する

デフォルト値は「False」です。

(結合)Range(“A1:B3”).MergeCells = True

(解除)Range(“A1”).MergeCells = False

右から左

使用言語によって異なる文字列の向きを指定します。

利用するのはReadingOrderプロパティになります。

ReadingOrderプロパティ

 構文 

Rangeオブジェクト.ReadingOrder = 設定値

このReadingOrderプロパティが有効になるのは、アラビア語などの右から左に読む言語PCのエクセルを利用している場合です。

日本語版では、このプロパティは全く機能しません。

制御種類 プロパティ名 設定値 設定の説明
文字列の可読方向 ReadingOrder xlContext 最初の文字に依存
xlRTL 右から左
xlLTR 左から右

方向

ここでは、文字列の縦書きと表示角度のコントロールを行います。

利用するプロパティは、Orientationプロパティになります。

Orientationプロパティ

 構文 

Rangeオブジェクト.Orientation = 設定値

制御種類 プロパティ名 設定値 設定の説明
表示方向 Orientation xlVertical 縦書き
xlUpward マイナス90度回転
xlHorizontal 水平表示
xlDownward プラス90度回転
-90~90 角度任意設定

セルの書式設定 配置を最速理解のまとめ

セル内の文字列の表示位置を編集するためには、このセルの書式設定の「配置」タブで行っていきます。

VBAでは、関係するプロパティが何種類か出てきますが、基本操作部分は覚えておくことが大事です。

セルの結合については、「MergeCellsプロパティ」を紹介していますが、「Mergeメソッド」でも(もちろん構文は異なりますが)同様のことが可能です。

エクセルVBAを独習するのに参考書は欠かせません。 参考書選びは自分に合った「相棒」にできるものを選んでいきたいです。

vbastudyeyecatch2 エクセルVBAの独習でおすすめ参考書を7冊選ぶ。良書との出会いは大切です

vbabgcoloreyecatch セルの背景色を2クリックで他範囲にも展開できるマクロ vbasorteyecatch データの並び替え VBA新旧のSortを実データで実証 vbacellsprotecteyecatch 「セルの保護」の設定VBAを最速理解 vbacellspaint_gradteyecatch 「グラデーションの塗りつぶし」のセルを設定する cellspaintpatterneyecatch 「塗りつぶしの網掛け」VBAを最速理解 vbacellspaintbackeyecatch 「塗りつぶし」背景色をVBAで記述する vbacellsbordereyecatch 「罫線」のVBAを最速理解 vbacellsfonteyecatch 「フォント」の操作を最速理解する エクセルVBA vbacellsplacementeyecatch 「配置」を最速理解する エクセルVBA vbacellssyoshikieyecatch 「表示形式」をVBAコード的に最速理解する VBAcellareaeyecatch セルの範囲選択と設定は14のツールで対応する vbaendpropertyeyecatch Endプロパティで上下左右の最終セルを取得 vbaentirecolumneyecatch EntireColumnとColumnの使い方 vbaentireroweyecatch EntireRowとRowプロパティの違い vbacolumnseyecatch Columnsプロパティの列指定で参照する vbaunioneyecatch UnionとRangeの一括選択の働きを比較 vbaresizeeyecatch Resizeプロパティでセル範囲をサイズ変更 vbarangevscellseyecatch Range VS Cells !VBAで使えるのはどっち vbausedrangeeyecatch UsedRangeプロパティの使い方のコツ vbaborder1eyecatch Bordersの/位置/線種/太さ/色/と<外枠だけの罫線>の設置 vbarowseyecatch Rowsプロパティの働きと関連のメソッド vbadeleteeyecatch セルの編集 DeleteとClearの使い分け 削除とクリアの違い vbacurrentregioneyecatch CurrentRegionは連続データをまとめて掴む SpecialCellseyecatch SpecialCellsメソッドはセル検索し選択する vbacharactereyecatcha Charactersで文字列中の一部の文字を加工する vbafontsyseyecatcha Fontプロパティで文字装飾操作をする vbajyufukueyecatch エクセルVBA 同じ項目をまとめる(重複データの整理)コード作成 vbafindeyecatch001 Findメソッドでの検索の方法とコード組み立てのコツ vbalastcelleyecatch データ入力済セルの最終行番号を取得する vbaoffseteyecatch Offsetプロパティは指定範囲を移動させる

エクセルVBA最速理解で必要な知識を集めよう!

<記事内容についての告知>VBAコードの記述記事においては、その記述には細心の注意をしたつもりですが、掲載のVBAコードは動作を保証するものではりません。 あくまでVBAの情報の一例として掲載しています。 掲載のVBAコードのご使用は、自己責任でご判断ください。 万一データ破損等の損害が発生しても当方では責任は負いません。