【VBA】データがあるセルだけ書式を設定する

 

データがあるセルだけに書式を設定したい場合は、次の流れで処理を行います。

  1. UsedRangeプロパティでデータがあるセル範囲を取得
  2. 取得したセル範囲を1つずつデータが入力されているかチェック
  3. データが入力されているセルに書式を設定する

1.UsedRangeプロパティでデータがあるセル範囲を取得

ワークシートのUsedRangeプロパティで取得できるセル範囲は四角いエリアなので、下のようなシートがあった場合、B2~E6が対象範囲として取得されます。

なので、次の「2.取得したセル範囲を1つずつデータが入力されているかチェック」でセル1つずつ処理をおこないます。

2.取得したセル範囲を1つずつデータが入力されているかチェック

取得したエリア内には空白セルも含まれています。

なので繰り返し処理で、取得したセル範囲を1つずつデータが入力されているかチェックします。

 

「UsedRangeプロパティなんで使わないで、最初からワークシート全部のセルをデータが入力されているかチェックすればいいじゃん?」と思うかもしれませんが、処理時間が遅くなってしまいます。

 

UsedRangeプロパティである程度の範囲にしぼってあげるのが、処理時間を早くするポイントです。

 

 

3.データが入力されているセルに書式を設定する

背景色であればInterior.Colorプロパティ、文字色であればFont.Colorプロパティなどを使って書式を設定します。

代表的な書式を次のサンプルコードで設定しています。

コード

サンプルではActiveSheetでシートを指定しています。

他のシートを指定したい場合は、Worksheets(“シート名”)に書きかえてください。

 

各書式の詳細は、以下のリンクを参考にしてください。

関連記事

VBAテクニック辞典
成果を出す5つのポイント
VBAテクニック辞典
えくとしょ | 初心者のためのエクセルとVBAの図書館
タイトルとURLをコピーしました