Excelで列幅に合わせて縮小表示する設定

セルの文字列をセルの列幅に合わせて表示したい場合、「縮小して全体を表示する」機能を利用します。

列幅が狭いセルだとフォントサイズが小さくなり、ただの点線にしか見えないぐらいまで縮小されます。

Excelの操作では、セル右クリック→セルの書式設定→配置タブ で、「縮小して全体を表示する」のチェックを付けることで縮小表示が可能になります。

VBAでも同様の設定を行うことが出来ます。

セルの書式設定とプロパティの関係が以下の図になります。

ここでは図の黄色部分の「縮小して全体を表示する」を設定するShrinkToFitプロパティについて説明します。横位置にも黄色を設定している理由は後述します。

構文

Rangeオブジェクトにはセル範囲を指定します。

ShrinkToFitプロパティは取得と設定を行うことが出来ます。

Trueの場合は縮小表示を行い、Falseの場合は縮小表示を解除します。

注意点として、横位置で「繰り返し(xlFillプロパティ)」、「両端揃え(xlJustifyプロパティ)」、「均等割り付け(xlDistributed)」が設定されている場合は、縮小表示で表示できません。

ShrinkToFitプロパティ自体への設定は可能ですが、Trueになっていても横位置の設定が上記の3つのいずれかの場合は縮小表示されません。

サンプルコード

以下はC列(縮小表示あり)とD列(縮小表示なし)で文字の配列の横位置の設定ごとに縮小表示のありとなしの場合の表示状態を表すサンプルです。各セルには同じ文字列を設定しています。

実行結果