Home » ExcelVBA Rangeオブジェクト » SpecialCellsメソッド » 空白セルを検索・選択する-SpecialCells(xlCellTypeBlanks)

空白セルを検索・選択する-SpecialCells(xlCellTypeBlanks)

動作検証バージョン:Windows版Excel(バージョン1811 ビルド11029.20108)

空白セルを検索・選択する-SpecialCells(xlCellTypeBlanks)

「EXCEL VBA 空白セルの検索」
「エクセル vba 空白セル 検索 アクティブ化」
といった検索で、このサイト『インストラクターのネタ帳』へのアクセスが時折あります。

Excel VBAで空白セルを探すには、どのようなコードを書けばいいのか調べていた方による検索キーワードです。

[スポンサードリンク]

空白セルを検索・選択するサンプルマクロ

空白セルとデータの入力されているセルが混在しているシートがアクティブな状態で、以下のSubプロシージャを実行すると、空白のセルだけを取得・選択できます。


Sub 空白セルを取得選択する()
 Dim rng As Range
 Set rng = _
   ActiveSheet.UsedRange.SpecialCells(xlCellTypeBlanks)
 rng.Select
End Sub

For Each~Nextなどのループ処理を考える方も多そうですけれど、その必要はありません。

Range.SpecialCells(xlCellTypeBlanks)で空白セルを取得できる

Excelでは、[選択オプション]ダイアログで「空白セル」オプションを指定すれば、空白セルを選択できます。

空白セルを検索・選択する-SpecialCells(xlCellTypeBlanks)

この機能をVBAから利用すれば、ループを回さなくても空白セルを見つけられます。

それが、Rangeオブジェクトに用意されているSpecialCellsメソッドに、

空白セルを検索・選択する-SpecialCells(xlCellTypeBlanks)

XlCellType列挙に定義されている定数xlCellTypeBlanksを引数として指定した、

空白セルを検索・選択する-SpecialCells(xlCellTypeBlanks)

上記のコードです。

取得を行っているのは、
  Set rng = _
    ActiveSheet.UsedRange.SpecialCells(xlCellTypeBlanks)
の部分で、取得したRangeオブジェクトに用意されているSelectメソッドで、
  rng.Select
選択を行っています。

空白セルの検索・選択で実行時エラーを回避する

上記のSubプロシージャは、空白セルが存在しないときなどに、実行時エラーが発生します。

実行時エラーを回避する場合、以下のようなSubプロシージャです。


Sub 空白セルを取得選択する_エラー回避()
On Error GoTo ErrHandl

 Dim rng As Range
 Set rng = _
   ActiveSheet.UsedRange.SpecialCells(xlCellTypeBlanks)
 rng.Select

Exit Sub
ErrHandl:
 MsgBox "空白セルが見つかりません。"
End Sub

空白セルをどの範囲から探すのかは「.SpecialCells」の前で指定

「EXCEL VBA 空白セルの検索」
「エクセル vba 空白セル 検索 アクティブ化」
といったときに、どの範囲の空白セルを探したいのかがわかりませんでしたから、上述のSubプロシージャではアクティブシート上の使われているセル範囲を、WindowオブジェクトのUsedRangeプロパティを使って指定しています。
  Set rng = _
    ActiveSheet.UsedRange.SpecialCells(xlCellTypeBlanks)

「.SpecialCells」の前Rangeオブジェクトを取得する式を変更すれば、どの範囲から空白セルを探すのか指定できます。

例えば、以下のようなコードにすれば、A1:G7セルの中の空白セルだけを取得できます。
  Set rng = _
    Range("A1:G7").SpecialCells(xlCellTypeBlanks)

最終更新日時:2019-03-09 06:25

[スポンサードリンク]

Home » ExcelVBA Rangeオブジェクト » SpecialCellsメソッド » 空白セルを検索・選択する-SpecialCells(xlCellTypeBlanks)

TrackBack:0

TrackBack URL

Home » ExcelVBA Rangeオブジェクト » SpecialCellsメソッド » 空白セルを検索・選択する-SpecialCells(xlCellTypeBlanks)

「SpecialCellsメソッド」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.

.