Excelの基本オブジェクト「セル」の参照、移動、コピー、選択、挿入、削除:Excelマクロ/VBAで始める業務自動化プログラミング入門(4)(4/4 ページ)
プログラミング初心者を対象にExcelマクロ/VBAを使った業務自動化プログラムの作り方を一から解説します。今回は、さまざまなセルの参照、移動、コピー、選択、挿入、削除の仕方に加え、行の高さ、列幅の変更方法などについて【Windows 10、Excel 2016に対応】。
行の高さ、列幅のさまざまな変更方法
次に、行の高さや列幅を変更させてみよう。
RowHeightプロパティで行の高さを変更
まず、行の高さを変更するには、RowHeightプロパティを使用する。書式は下記の通りだ。オブジェクトにはRowsオブジェクトを指定する。
RowHeightプロパティの書式
Rowsオブジェクト.RowHeight={高さ(ポイント単位指定)}
図10の4行と5行の行の高さを30に設定するマクロはリスト17だ。
Sub 行の高さを変更する() Rows("4:5").RowHeight = 30 End Sub
実行すると図17のようになる。コードの解説は必要ないだろう。
UseStandardHeightプロパティで標準の行の高さに戻す
高さを変更した行を標準の高さに戻すには、UseStandardHeightプロパティを使用してTrueを指定する。例えば、4行と5行(図17)を標準の高さに戻すには、下記のように記述する。
Rows("4:5").UseStandardHeight = True
ColumnWidthプロパティで列幅を変更
次は列の幅を変更してみよう。列幅の変更には、ColumnWidthプロパティを使用する。書式は下記の通りだ。
ColumnWidthの書式
Columnsオブジェクト.ColumnWidth={列幅の数値}
オブジェクトにはColumnsオブジェクトを指定する。FとG列の列幅を30に設定するマクロはリスト18だ。
Sub 列の幅を指定する() Columns("F:G").ColumnWidth = 30 End Sub
実行すると図18のようになる。
UseStandardWidthプロパティで標準の列幅に戻す
列幅を変更した列を標準の幅に戻すには、UseStandardWidthプロパティを使用しTrueを指定する。
図18の幅を標準に戻すには下記のように記述する。
Columns("F:G").UseStandardWidth = True
AutoFitメソッドで行の高さや列幅の自動調整
最後に、行の高さや列の幅を自動調整する処理について解説する。
行の高さや列の幅の調整は、よく手動で行う人が多い。しかし、これもマクロ化すれば、ボタン1つでセルの高さや幅が自動調整できる。こんな便利な機能をマクロ化しないで、使用しない手はない。ぜひ、これも日常の業務にも取り入れてほしいものだ。作業の効率が格段に上がる。間違いない!
自動調整するにはAutoFitメソッドを使用する。書式は下記の通りだ。
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.
関連記事
- Excelマクロ/VBAリファレンス用途別・キーワード別一覧超まとめ
- ピボットテーブルとは何か──「そもそも、何をする機能か」を理解する
Excelを通じて「ピボットテーブル」の基礎を学び、データ分析を実践するまでを習得する本連載。初回はピボットテーブルの基礎と、「どんなことができるのか」を解説する。 - どんなビジネスにも欠かせないリレーショナルデータベースの基礎知識と作り方――テーブル、レコード、フィールド、主キーとは
Accessを通じて、初心者がリレーショナルデータベースやSQLの基本を学び、データベースを使った簡単なシステムの作り方を習得する本連載。初回はデータベースの基本を理解し、Accessを使い始めてみよう。