Home » ExcelVBA Rangeオブジェクト » SpecialCellsメソッド » VBAで特定の列から空白セルを取得する

VBAで特定の列から空白セルを取得する

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

「列での空白セルを取得する VBA」
という検索キーワードで、このサイト『インストラクターのネタ帳』へのアクセスがありました。

特定の列から、空白セルを取得するVBAのコードを探していた方による検索でしょう。

A列から空白セルを取得選択するサンプルマクロ

以下のSubプロシージャを実行すると、A列の空白セルが取得・選択されます。

Sub A列から空白セルを取得選択する()
On Error GoTo ErrHandl

 Dim rng As Range
 Set rng = _
   Columns("A").SpecialCells(xlCellTypeBlanks)
 rng.Select

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

「ActiveSheet.UsedRange.SpecialCells(xlCellTypeBlanks)」というコードで、アクティブシートの使われているセル範囲の中から空白セルを取得できることをご紹介しています。

「.SpecialCells(xlCellTypeBlanks)」の前、空白セルを探す対象であるセル範囲を表すRangeオブジェクトを取得する式が変わっただけです。

「ActiveSheet.UsedRange」から、「Columns("A")」という拙著『いちばんやさしいExcel VBAの教本』のLesson 63「行全体・列全体を表すRangeオブジェクトについて学習しましょう」でもお伝えしている、Columnsプロパティを使った列全体を表すRangeオブジェクトを取得する式になっている点だけが異なります。

ジャンプ→選択オプションで選択するのと考え方は似ている

上記のコードは、Excelで[ジャンプ]ダイアログを表示してから[選択オプション]ダイアログを更に表示し、空白セルを選択する操作と、考え方は似ています。

A列の空白セルを、[ジャンプ]ダイアログから[選択オプション]ダイアログを表示して選択する場合、A列を選択しておいてから操作を開始します。

VBAのコードの場合、「.SpecialCells(xlCellTypeBlanks)」の前で、空白セルを探す対象とするセル範囲を指定します。

アクティブセルを含む列から空白セルを取得選択するサンプルマクロ

参考までにもうひとつ。
以下のSubプロシージャで、アクティブセルを含む列全体から、空白セルを取得・選択できます。

Sub アクティブセルを含む列から空白セルを取得選択する()
On Error GoTo ErrHandl

 Dim rng As Range
 Set rng = _
   ActiveCell.EntireColumn.SpecialCells(xlCellTypeBlanks)
 rng.Select

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

先ほどのSubプロシージャで「Columns("A")」となっていたRangeオブジェクトを取得する式が、RangeオブジェクトのEntireColumnプロパティを使った「ActiveCell.EntireColumn」になっている点が異なります。

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

[スポンサードリンク]

Home » ExcelVBA Rangeオブジェクト » SpecialCellsメソッド » VBAで特定の列から空白セルを取得する

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

検索


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

.