次に、行の高さや列幅を変更させてみよう。
まず、行の高さを変更するには、RowHeightプロパティを使用する。書式は下記の通りだ。オブジェクトにはRowsオブジェクトを指定する。
Rowsオブジェクト.RowHeight={高さ(ポイント単位指定)}
図10の4行と5行の行の高さを30に設定するマクロはリスト17だ。
Sub 行の高さを変更する() Rows("4:5").RowHeight = 30 End Sub
実行すると図17のようになる。コードの解説は必要ないだろう。
高さを変更した行を標準の高さに戻すには、UseStandardHeightプロパティを使用してTrueを指定する。例えば、4行と5行(図17)を標準の高さに戻すには、下記のように記述する。
Rows("4:5").UseStandardHeight = True
次は列の幅を変更してみよう。列幅の変更には、ColumnWidthプロパティを使用する。書式は下記の通りだ。
Columnsオブジェクト.ColumnWidth={列幅の数値}
オブジェクトにはColumnsオブジェクトを指定する。FとG列の列幅を30に設定するマクロはリスト18だ。
Sub 列の幅を指定する() Columns("F:G").ColumnWidth = 30 End Sub
実行すると図18のようになる。
列幅を変更した列を標準の幅に戻すには、UseStandardWidthプロパティを使用しTrueを指定する。
図18の幅を標準に戻すには下記のように記述する。
Columns("F:G").UseStandardWidth = True
最後に、行の高さや列の幅を自動調整する処理について解説する。
行の高さや列の幅の調整は、よく手動で行う人が多い。しかし、これもマクロ化すれば、ボタン1つでセルの高さや幅が自動調整できる。こんな便利な機能をマクロ化しないで、使用しない手はない。ぜひ、これも日常の業務にも取り入れてほしいものだ。作業の効率が格段に上がる。間違いない!
自動調整するにはAutoFitメソッドを使用する。書式は下記の通りだ。
Rangeオブジェクト.AutoFit
図19(5行と6行の行の高さが高い)のような行の高さの行を自動調整するマクロはリスト19だ。
Sub 行の高さを自動調整する() Range("5:6").Rows.AutoFit End Sub
実行すると、図20のような見栄えに戻る。
次に、列幅(E〜G列)が異常に狭い列(図21)を自動調整してみよう。
図21の列幅を自動調整するには、リスト20のように記述する。
Sub 列幅を自動調整する() Range("E:G").Columns.AutoFit End Sub
実行すると図22のような見栄えに変更される。
今回はこれで終わりだ。細かいVBAのマクロコードがたくさん出てきたが、どれも短いコードなので理解できるだろう。解説上、1つ1つの処理を別個なSubプロシージャの中に書いて、別々に実行させているが、一括で実行させたい場合は、1つのプロシージャ内に、これらのVBAをまとめて記述して実行すればいい。各自が試してみてほしい。
今回、最後にセルの行の高さや列幅を操作するという、見た目に関する話をしたが、次回は、さらにセルの見た目に関する話ということで、セルの数式やフォント、文字色、文字位置、背景色、けい線など、「書式」について解説する。
【2016/7/21】Windows 10、Excel 2016に対応しました。
PROJECT KySS 薬師寺 国安(やくしじ くにやす)
1950年生まれ。フリーVBプログラマ。高級婦人服メーカーの事務職に在職中、趣味でVBやActiveXに取り組み、記事を執筆。2003年よりフリー。.NETやRIAに関する執筆多数。Windowsストアアプリも多数公開中(約270本)。
Microsoft MVP for Development Platforms - Client App Dev (Oct 2003-Sep 2012)。
Microsoft MVP for Development Platforms - Windows Phone Development(Oct 2012-Sep 2013)。
Microsoft MVP for Development Platforms - Client Development(Oct 2013-Sep 2014)。
PROJECT KySSは、1997年に薬師寺聖と結成したコラボレーション・ユニット
Copyright © ITmedia, Inc. All Rights Reserved.