Categories: VBA

VBAで列の幅を調整する│列幅を自動調整または微調整する方法を説明

この記事では、VBAを使ってExcelの列の幅を調整する方法を実際のVBAコードも含めて説明します。

Excelは「表形式」という特性上、セルに入力されている値がセルの幅を超えた場合、視認性が悪くなってしまいますので、列の幅の調整は日常的に行う操作のひとつです。

VBAを使って列の幅を自動調整したり、数値で指定して調整する方法について、VBAコードを用いて説明します。

VBA│幅の自動調整

この章では、対象のA列とB列に入力されている値の長さに応じて、自動的に列幅を調整するVBAコードを紹介します。Excelで行う最上段の列のセルとセルの境界線(アルファベット表示列)をダブルクリックしたときと同等の結果が得られるVBAコードです。

基本構文

object. AutoFit

  • object = 幅を自動調整する列
    この例では、A:B列です
  • AutoFit= 幅を自動調整するメソッド

この基本構文は、Columnプロパティを使う場合の構文です。幅を調整するセルをRangeプロパティで指定する場合には、次のようになります。
object .EntireColumn.AutoFit

Columnプロパティ

Sub Sample()

Columns(”A:B”). AutoFit

End Sub

Rangeプロパティ

Sub Sample()

Range( “A : B” ). EntireColumn.AutoFit

End Sub

VBA│幅を数値で指定して調整

この章では、A列に入力されている値の長さを基に数値を判断し、列幅を調整するVBAコードを紹介します。ただし、文字の見た目の長さから、列幅を数値化して調整することは現実的には困難ですので、実用性はあまりありません。

基本構文

object. ColumnWidth = single

  • object = 幅を自動調整する列
    この例では、A列です
  • ColumnWidth = 幅を数値で調整するプロパティ
  • single = 列幅調整の数値

ColumnWidthプロパティ

Sub Sample()

Columns(”A:A”). ColumnWidth = Columns(”A:B”). ColumnWidth + 1

End Sub

Webs

元事務処理担当者として、プログラミングを活用した業務改善を推進している。プログラマ出身ではない事務職の現場目線で情報を発信。 その他、webs-studio.jpをメインに、複数のブログサイトを立ち上げており、合計で月間10万PVのメディア運営を行っている。 姉妹サイト一覧