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

vbacellsplacementeyecatch

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

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

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

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

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

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

vbacellsplacement001

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

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

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

文字の配置

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

横位置の設定

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

HorizontalAlignmentプロパティ

構文

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

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

位置プロパティ名設定値設定の説明
横位置HorizontalAlignmentxlHAlignGeneral標準
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」になっています。

位置プロパティ名設定値設定の説明
縦位置VerticalAlignmentxlTop上詰め
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のエクセルを利用している場合です。

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

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

方向

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

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

Orientationプロパティ

構文

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

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

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

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

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

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

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

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

今回の記事はここまでです。   最後までご覧いただき有難うございました。

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

エクセルVBA業務ツールで日常の業務改善を行いましょう。

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