Home » Excel VBA Rangeオブジェクト » 行・列を表すRange » Excel VBAで行の高さをオートフィット(自動調整)する

Excel VBAで行の高さをオートフィット(自動調整)する

動作検証バージョン:Windows 11 Home + 64bit Excel バージョン 2406(ビルド17630.20000クイック実行)ベータチャネル

「excel vba 行の高さ オートフィット」
といった検索キーワードでアクセスがありました。
Excel VBAで、行の高さを自動調整するには、どのようなコードを書けばいいのかを調べていらしたのでしょう。

この記事では、さまざまなサンプルをご紹介します。

[スポンサードリンク]

Rowsプロパティを使ったサンプル

以下のSubプロシージャを実行すると、アクティブシートの1行目の高さが自動調整されます。

Sub 行の高さをオートフィットする__1行目のみ()
 Rows(1).AutoFit
End Sub

Rowsプロパティで取得した行を表すRangeオブジェクトの_Defaultプロパティの引数に数値「1」を指定することで、1行目を表すRangeオブジェクトを取得して、AutoFitメソッドを呼び出しています。

以下のSubプロシージャであれば、2行目から4行目の高さが自動調整されます。

Sub 行の高さをオートフィットする__2行目から4行目()
 Rows("2:4").AutoFit
End Sub

先ほどの1行目のみをオートフィットする例との違いは、Rowsプロパティで取得したRangeの_Defaultプロパティに指定する引数が文字列「2:4」であることです。

EntireRowプロパティを使ったサンプル

EntireRowプロパティを使って行を表すRangeを取得して、AutoFitメソッドを呼び出すことも可能です。

以下のプロシージャで5行目の高さが自動調整されます。

Sub 行の高さをオートフィットする__5行目のみ()
 Cells(5, "A").EntireRow.AutoFit
End Sub

以下のプロシージャなら6行目から8行目の高さが自動調整されます。

Sub 行の高さをオートフィットする__6行目から8行目()
 Range("A6", "A8").EntireRow.AutoFit
End Sub

「Range("A6", "A8")」の部分は「Range("A6:A8")」と書いても同じ結果になります。

すべての行の高さをオートフィットするサンプル

Rowsプロパティで取得したRangeオブジェクトからいきなりAutoFitメソッドを呼び出せば、アクティブシートのすべての行の高さが自動調整されます。

Sub 行の高さをオートフィットする__すべての行()
 Rows.AutoFit
End Sub

「Cells.EntireRow.AutoFit」でも同じ結果になりますが、Rowsプロパティを使えばいいでしょう。

最終更新日時:2024-05-18 08:43

[スポンサードリンク]

Home » Excel VBA Rangeオブジェクト » 行・列を表すRange » Excel VBAで行の高さをオートフィット(自動調整)する

「行・列を表すRange」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.

.