Home » Excel VBA Rangeオブジェクト » 行・列を表すRange » VBAでシート全体をAutoFitするには

VBAでシート全体をAutoFitするには

動作検証バージョン:Windows 11 Home + 64bit Excel(バージョン2307 ビルド16626.20000 クイック実行)

「ExcelVBA autofit シート全体」
といった検索で時折アクセスがあります。

セルの幅や高さを適切なサイズにするRange.AutoFitメソッドを、

シート全体に適用するにはどのようなコードを書けばいいのか、調べていらしたのでしょう。

[スポンサードリンク]

もしかしたら、

Cells.AutoFit

を実行して「実行時エラー'1004': RangeクラスのAutoFitメソッドが失敗しました。」エラーが発生したのかもしれません。
この挙動については、ヘルプに

Range オブジェクトは、行または行の範囲、または列または列の範囲である必要があります。それ以外の場合、このメソッドはエラーを生成します。

と書かれているとおりです。

アクティブシートの全列をAutoFitするサンプルマクロ

アクティブシートのすべての列をAutoFitするのなら、以下のようなマクロです。

Sub 全列をAutoFitする()
 Columns.AutoFit
End Sub

拙著『いちばんやさしいExcel VBAの教本』の「Lesson 63 行全体・列全体を表すRangeオブジェクトについて学習しましょう」でも解説している、Columnsプロパティで取得できる全列を表すRangeオブジェクトに対してAutoFitメソッドを実行すれば、全列のAutoFitが可能です。

アクティブシートの全行をAutoFitするサンプルマクロ

すべての行をAutoFitするのであれば、以下のようなマクロです。

Sub 全行をAutoFitする()
 Rows.AutoFit
End Sub

Rowsプロパティで取得できる全行を表すRangeオブジェクトのAutoFitメソッドで、全行のAutoFitができます。

アクティブシート全体をAutoFitするサンプルマクロ

アクティブシート全体を(行も列も)AutoFitするのであれば、以下のようなマクロです。

Sub アクティブシート全体をAutoFitする()
 Columns.AutoFit
 Rows.AutoFit
End Sub

最終更新日時:2024-03-25 16:09

[スポンサードリンク]

Home » Excel VBA Rangeオブジェクト » 行・列を表すRange » VBAでシート全体をAutoFitするには

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

検索


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

.