検索

キーワード


【Excel VBA】列の幅を自動設定するAutoFitメソッド

  • 公開日:2020-10-11 23:08:48
  • 最終更新日:2021-03-10 20:33:16

初めまして、エンジニアのIMMRです。


エクセルの幅の設定によっては、下記のブックのように見栄えが悪かったり、データの表示が出来てないことがあります。

図1 ブック(A列とB列の幅が正しく設定されていない)

データの表示が出来ていないブックの例

A列の幅は、広げ過ぎです。

B列の幅は、値が表示出来ていないのでもっと広げる必要があります。


手作業にて列の幅の自動調整が必要になります。

図2 ブック(A列とB列の幅が正しく設定されている)

列の幅を自動調整した結果


1.列の幅を自動設定するAutoFitメソッド

列の幅を自動設定するAutoFitメソッドを使います。

列を指定することによって、列の幅を自動調整することができます。

Columns().AutoFit


列の指定方法は、下記の通りです。

図3 列の指定方法について

AutiFitでの列の指定方法


2.列の幅を自動設定するAutoFitメソッドの使用例

AutoFitメソッドを使用してA列B列の幅自動設定は下記のようにします。


Sub Test13()

  Columns("A:B").AutoFit

End Sub


3.列の幅を自動設定するAutoFitメソッドのサンプルコード

列の幅を自動設定するメソッドを使用したサンプルコードを作成します。

下記ブックを使用します。


図4 ブック(A列とB列の幅が正しく設定されていない)

AutoFitメソッドを使ったマクロを実行する前の画面


サンプルコード

Sub Test13()

  Columns("A:B").AutoFit

End Sub


4.列の幅を自動設定するAutoFitメソッドのサンプルコードの実行結果

AutoFitメソッドを使用して列の幅を自動設定出来るか確認します。上記のサンプルコードを使用して実行します。

実行結果は、以下のようになります。


図5 ブック(上記、コード実行後)

AutoFitメソッドを使ったマクロの実行結果

A列とB列の幅が自動で設定されていることが確認出来ます。

AutoFitメソッドによって、列の幅を自動設定していることが確認出来ます。


ちなみに

Sub Test13()

  Columns("A:A").AutoFit

End Sub

とすると実行結果は下記のようになります。


この場合、自動設定を行ったのはA列だけなのでB列は自動設定されません。


図6 (A列の幅は正しく設定しているがB列の幅は正しく設定されていない)

AutoFitでA列のみ指定したマクロの実行結果



【著者】

Imamura

今まではExcel VBAの開発をしてきました。
開発を主にしたものや他の業務の効率化を目指して行ったものさまざまです。
現在は、他のプログラミング言語に挑戦して、スキルアップを目指しています。

よく読まれている記事