目次
はじめに
今回は、VBAでカラムの幅を固定する方法について勉強しました。
使用環境は以下のとおりです。
- 使用OS: Windows 10 Pro
- バージョン: 20H2
背景
これまでは、VBAプログラム内でカラム幅を自動調整するために、AutoFit
メソッドを使用していました。
しかし、複数のグラフを挿入する場面では、列幅がデータに応じて変わってしまい、グラフの形が崩れてしまう問題が発生しました。
そこで今回は、カラム幅を固定する方法に切り替えてみました。
実際のコード
以下のようなコードでカラム幅を固定することができました。
Columns.ColumnWidth = 10
このコードを実行すると、ワークシート内のすべての列の幅が「10」に統一されます。
列単位で幅を固定する方法
特定の列だけ幅を固定したい場合は、次のように記述します。
- 列番号で指定する場合
Columns(2).ColumnWidth = 10
この場合、B列の幅だけが「10」に設定されます。
- 列記号で指定する場合
Columns("B").ColumnWidth = 10
こちらも同様に、B列のみ幅を「10」に固定することができます。
列を番号指定でも文字指定でも、どちらの方法でも対応可能です。
まとめ
Columns.ColumnWidth = 数値
ですべての列の幅を一括で設定できるColumns(列番号または列記号).ColumnWidth = 数値
で特定の列のみ幅を設定できる- グラフを挿入する場合など、列幅が変わるとレイアウトに影響するため、固定幅を設定すると安定する
グラフや表のレイアウトを整える際には、状況に応じてAutoFit
と固定幅を使い分けることが重要です。
これからも、用途に応じた最適な列幅調整を心がけていきたいと思います。