Home » ExcelVBA Rangeオブジェクト » SpecialCellsメソッド » 可視セルのみ選択する-SpecialCells(xlCellTypeVisible).Select

可視セルのみ選択する-SpecialCells(xlCellTypeVisible).Select

対象:Excel2007, Excel2010, Excel2013, Windows版Excel2016

「エクセルvba 可視セルの選択」
「エクセルマクロ 可視セルのみ選択」
「フィルター vba 可視セル 選択」
といった検索で、アクセスが割とあります。

Excelを簡易データベースとして使っていて、フィルターをかけたときに、VBAを使ってフィルターされ見えているセル(可視セル)だけを選択する方法を探している方による検索キーワードでしょう。

[スポンサードリンク]

可視セルだけを選択するサンプルマクロ

以下のSubプロシージャが参考になるのではないでしょうか。
Sub 可視セルのみ選択する()
 Range("A1").CurrentRegion.SpecialCells(xlCellTypeVisible).Select
End Sub

下図のようにデータが存在しているときに、

可視セルのみ選択するExcelマクロ

以下のようにフィルタリングしておいて、

可視セルのみ選択するExcelマクロ

上記のSubプロシージャを実行すると、見えているセルだけが選択されます。

サンプルマクロで利用しているオブジェクト式について

Range("A1")でA1セルを取得

「Range("A1").CurrentRegion.SpecialCells(xlCellTypeVisible)」というオブジェクト式に登場する、プロパティ・メソッドは、すべてRangeオブジェクトを返します、

グローバルメンバーのRangeプロパティを使ったオブジェクト式「Range("A1")」は、いうまでもなくA1セルを表すRangeオブジェクトを返します。

Range.CurrentRegionでアクティブセル領域を取得

RangeオブジェクトのCurrentRegionプロパティを使ったオブジェクト式「Range("A1").CurrentRegion」は、今回の場合は、A1:C6セルを表すRangeオブジェクトを返します。

可視セルのみ選択するExcelマクロ

Range.SpecialCells(xlCellTypeVisible)で可視セルを取得

性別に「F」と入力されているデータだけをフィルタリングしているので、RangeオブジェクトのSpecialCellsメソッドを使ったオブジェクト式「Range("A1").CurrentRegion.SpecialCells(xlCellTypeVisible)」は、表示されているA1:C2, A5:C6セルを表すRangeオブジェクトを返します。

可視セルのみ選択するExcelマクロ

Range.Selectでセルを選択

「エクセルvba 可視セルの選択」
「エクセルマクロ 可視セルのみ選択」
「フィルター vba 可視セル 選択」
ということでしたので、最後にRangeオブジェクトのSelectメソッドで選択を行っています。

可視セルのみ選択するExcelマクロ

最終更新日時:2019-01-21 06:35

[スポンサードリンク]

Home » ExcelVBA Rangeオブジェクト » SpecialCellsメソッド » 可視セルのみ選択する-SpecialCells(xlCellTypeVisible).Select

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

検索


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

.