PR

【ExcelVBA】行の高さ・列の幅を自動調節する方法(AutoFitメソッド)

VBA-列の幅と行の高さ自動調節-アイキャッチ 行・列の操作

エクセルシートの列の幅・行の高さをマクロで自動調節する方法について説明します。

スポンサーリンク

列の幅を自動調節する方法

列の幅はエクセルシートの初期設定は「8.38」になっています。
例えば下の表ではA列に魚の名前が入っていますが、7行目と8行目は見えている範囲に全部入り切っていない状態です。

ExcelVBA-調節前の状態

入力されている文字数に合わせてすべて見えるように自動で調節したいときは、手動で行うときはA列とB列の間の罫線の部分をダブルクリックして調節することが可能です。

マクロで自動調節を行いたい場合はAutoFitメソッドを使用して↓のように記述します。

‘A列からB列までの列の幅を自動調整する
Columns(“A:B”).AutoFit

マクロを実行すると↓のようになります。
魚の名前がすべて見えるようになりました。

ExcelVBA-列の幅-調節前と調節後

自動調節後の列の幅を見てみるとA列は「8.38」⇒「18.63」になっています。

ExcelVBA-列の幅-A列の幅

B列は「8.38」⇒「4.63」と文字数に合わせて短く調整されています。

ExcelVBA-列の幅-B列の幅

列の幅を指定した幅で設定したい場合

列の幅を指定した幅で設定したい場合は↓のように記述します。

‘A列からB列までの列の幅を「20」に設定する
Columns(“A:B”).ColumnWidth = 20

マクロを実行するとそれぞれ指定した幅に調節されました。

ExcelVBA-列の幅-調節前と調節後-指定した幅
スポンサーリンク

行の高さを自動調節する方法

行の高さを自動で調節したい場合は↓のように記述します。

‘2行目~8行目までの行の高さを自動調節する
Range(“2:8”).EntireRow.AutoFit

先ほどと同じ表を使って、A列の値は「折り返して全体を表示する」設定にしておいてからマクロを実行しています。

実行すると7行目と8行目の行の高さが調節されてすべての文字が見えるようになりました。

ExcelVBA-行の高さ-調節前と調節後

行の高さを指定した高さで設定したい場合

行の高さはデフォルトで「20」に設定されています。
指定した高さに変更したい場合は↓のように記述します。

‘2行目~8行目までの行の高さを40に設定する
Range(“2:8”).RowHeight = 40

マクロを実行すると↓のようになります。

ExcelVBA-行の高さ-調節前と調節後-指定した高さ
スポンサーリンク

※コードのコピー利用について

・コードのコピーは自由におこなっていただけます。
・気を付けて作成はしていますがコードには誤りがある可能性があります。
・自身の環境で動作確認をしていますが、すべての方の環境で同様に動くことは保証できません。
・データの破損等の責任は負いかねますのでご自身の責任のもとお使いください。

タイトルとURLをコピーしました