「配置」を最速理解する エクセル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「フォント」の操作を最速理解する エクセルVBAvbacellsplacementeyecatch「配置」を最速理解する エクセルVBAvbacellssyoshikieyecatch「表示形式」をVBAコード的に最速理解するVBAcellareaeyecatchセルの範囲選択と設定は14のツールで対応するvbaendpropertyeyecatchEndプロパティで上下左右の最終セルを取得vbaentirecolumneyecatchEntireColumnとColumnの使い方vbaentireroweyecatchEntireRowとRowプロパティの違いvbacolumnseyecatchColumnsプロパティの列指定で参照するvbaunioneyecatchUnionとRangeの一括選択の働きを比較vbaresizeeyecatchResizeプロパティでセル範囲をサイズ変更vbarangevscellseyecatchRange VS Cells !VBAで使えるのはどっちvbausedrangeeyecatchUsedRangeプロパティの使い方のコツvbaborder1eyecatchBordersの/位置/線種/太さ/色/と<外枠だけの罫線>の設置vbarowseyecatchRowsプロパティの働きと関連のメソッドvbadeleteeyecatchセルの編集 DeleteとClearの使い分け 削除とクリアの違いvbacurrentregioneyecatchCurrentRegionは連続データをまとめて掴むSpecialCellseyecatchSpecialCellsメソッドはセル検索し選択するvbacharactereyecatchaCharactersで文字列中の一部の文字を加工するvbafontsyseyecatchaFontプロパティで文字装飾操作をするvbajyufukueyecatchエクセルVBA 同じ項目をまとめる(重複データの整理)コード作成vbafindeyecatch001Findメソッドでの検索の方法とコード組み立てのコツvbalastcelleyecatchデータ入力済セルの最終行番号を取得するvbaoffseteyecatchOffsetプロパティは指定範囲を移動させる

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