この記事では、VBAを使ってExcelの列の幅を調整する方法を実際のVBAコードも含めて説明します。
Excelは「表形式」という特性上、セルに入力されている値がセルの幅を超えた場合、視認性が悪くなってしまいますので、列の幅の調整は日常的に行う操作のひとつです。
VBAを使って列の幅を自動調整したり、数値で指定して調整する方法について、VBAコードを用いて説明します。
目次
VBA│幅の自動調整
この章では、対象のA列とB列に入力されている値の長さに応じて、自動的に列幅を調整するVBAコードを紹介します。Excelで行う最上段の列のセルとセルの境界線(アルファベット表示列)をダブルクリックしたときと同等の結果が得られるVBAコードです。
基本構文
object. AutoFit
- object = 幅を自動調整する列
この例では、A:B列です - 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