Home » Excel VBA Rangeオブジェクト » SpecialCellsメソッド » 可視行のみをFor Each~Nextループで処理する-SpecialCells(xlCellTypeVisible).Rows

可視行のみをFor Each~Nextループで処理する-SpecialCells(xlCellTypeVisible).Rows

動作検証バージョン:Windows 10 Pro(64-bit)+ 32bit Excel(バージョン2212 ビルド15928.20216 Microsoft Store)

「VBA 可視行 for each」
「可視行 ループ VBA CurrentRegion.SpecialCells」
といった検索キーワードでアクセスがありました。

Excel VBAで、見えている行(可視行)のみFor Each~Nextループで処理するには、どのようなコードを書けばいいのかを調べていた方による検索です。

[スポンサードリンク]

可視行のみをFor Each~Nextループで処理するサンプルマクロ

アクティブシートにフィルターを設定した状態で、以下のExcelマクロを実行してください。

Sub 可視行のみループ処理する()
 Dim rng As Range
 For Each rng In Range("A1").CurrentRegion.SpecialCells(xlCellTypeVisible).Rows
  rng.Select
  MsgBox rng.Address(False, False)
 Next
End Sub

可視行のみが選択されて、そのセル番地がメッセージボックスに順番に表示されます。

Range.Rowsプロパティで行を表すRangeを取得

個々の可視セルに対するFor Each~Nextループ処理は既にご紹介しています。

ほとんど同じコードですが、Range.Rowsプロパティを使えば、

For Each rng In Range("A1").CurrentRegion.SpecialCells(xlCellTypeVisible).Rows

行を表すRangeオブジェクトを取得できます。

[スポンサードリンク]

Home » Excel VBA Rangeオブジェクト » SpecialCellsメソッド » 可視行のみをFor Each~Nextループで処理する-SpecialCells(xlCellTypeVisible).Rows

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

検索


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

.