'選択された行高を自動調整する Selection.EntireRow.AutoFit
'選択された列幅を自動調整する Selection.EntireColumn.AutoFit
'全ての行列の幅を自動調整する Cells.EntireRow.AutoFit Cells.EntireColumn.AutoFit
行高列幅の自動調整には「AutoFit」メソッドを使用します
このメソッドは指定したセル範囲から行か列か自動的に判断して自動調整を行います
対象には行か列を指定する必要があるため、「Range(“A:A”)」と列の指定を行っても構いませんが、列や行でしか実行できないメソッドなので対象を確実に行列にするために「EntireColumn」か「EntireRow」を使用して対象を指定します
この2つのプロパティに関してはこちらで確認してください
また、行列の判定を自動的に行うという性質から両方を同時に指定することが出来ません
シート全体の行と列両方を自動調整する場合は、行と列をそれぞれ自動調整する必要があります
シート全体を指定するので、ここでは「Cells」に対する行列の指定を行っています
特定のセルだけを対象に列幅の自動調整
'A1だけのデータに合わせてA列の幅を自動調整 Range("A1").Columns.AutoFit
使用する頻度が低そうなので単独の記事ではなく、ここに追加しておきます
上記の自動調整では指定範囲内のセルの内で最大の文字数に合わせて調整が行われます
ただ、その場合だと一つだけ極端に長い文字列があり、それに調整された結果とんでもない列幅になってしまうことがあります
そんな場合に、このコードは利用できます
画像の動きを確認してください
コード実行後に、列幅が調整されてA1のセル内容が全て表示されるように調整されていますが、A2はまだはみ出したままです
A1のデータのみで自動調整されていることが分かります
そして、列幅としか記載していない通りこの特定セルでの調整は行高のサイズ調整を行えません
コード自体の実行は可能ですが、結局最大文字サイズの高さに調整されます
利用場面が少ないことが予想されますがこんなことも出来ると思っていてください
関連の記事