範囲選択しているセルの中から空白セルだけを一括操作するには-Excel VBA Tips

Excel VBA Tips集-6

選択している複数のセルの中にある空白セルだけを一括操作する方法

空白セルだけを一括操作するにはSpecialCellsメソッドを用います。

指定範囲の空白セル全てにに値と背景色を設定するサンプルコード

サンプルコード実行前のセルの状態は以下になります。

販売価格の列に2箇所空白のセルがあるので、この2つの空白セルを一括操作します。

このサンプルコードの実行結果は以下の通りです。

object.SpecialCells(xlCellTypeBlanks)と書くことで範囲内の空白セルを一括操作できます。

サンプルコードの補足説明1

SpecialCellsメソッドの引数はxlCellTypeBlanks以外に9種類あります。引数になり得る定数の一覧を以下に示します。

SpecialCellsメソッドが引数として取る定数 意味
 xlCellTypeAllFormatConditions  表示形式が指定されているセル
 xlCellTypeAllValidation  入力規則などの条件が設定されているセル
 xlCellTypeComments  コメントが含まれているセル
 xlCellTypeConstants  定数が含まれているセル
 xlCellTypeFormulas  数式が含まれているセル
 xlCellTypeLastCell  使用した経緯のあるセル範囲内の最も右下のセル
 xlCellTypeSameFormatConditions  同じ表示形式が設定されているセル
 xlCellTypeSameValidation  同じ条件の設定が含まれているセル
 xlCellTypeVisible  あらゆる可視セル

参考:xlCellTypeLastCellの用例

SpecialCells(xlCellTypeLastCell)は使用済みのセル領域の一番右下を特定するのに役立ちます。SpecialCells(xlCellTypeLastCell)を用いる際はUsedRangeプロパティでセルの範囲を絞った上で利用した方が賢明です。

UsedRangeプロパティはワークシートオブジェクトとセットで用いられます。UsedRangeプロパティが指し示す範囲は、あるワークシート内の既に利用されているセルを含む範囲です。

先ずは、直観的にUsedRangeプロパティが指し示す範囲を知るために簡単なサンプルコードを書いてみます。

Excelの画面が以下の状態のときにUsedRange.Selectを実行すると、どのような範囲が選択されるでしょうか。それを実際に観察してみましょう。

サンプルコード実行前のExcel画面

UsedRangeのサンプルコード

サンプルコード実行後のExcel画面

A1セルから一番、右下にある「999」と入力されたF10セルまでが選択されました。このようにUsedRangeプロパティは既に利用されているセルを含む全ての範囲を指し示しています。

では、上記のExcel画面に対して、UsedRange.SpecialCells(xlCellTypeLastCell)を実行してみましょう。既に利用されているセル範囲の一番右下を指し示すはずです。

SpecialCells(xlCellTypeLastCell)のサンプルコード

このサンプルコードを実行すると以下のExcel画面のように、UsedRangeの指し示す範囲の一番右下が選択されます。具体的には、F10セルが選択状態になりますね。

サンプルコードの補足説明2

Interior.ColorIndexプロパティは数値でセルの背景色を指定します。色と番号の対応表は以下の通りです。

関連項目

 

使える!Excel VBA Tips集TOPに戻る

 

[AD]自分のペースでゆったり学ぶ Excel VBA

 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA