Excel VBA でオートフィルタされたセルを扱う

VBA でオートフィルタをかけられたセルをマウスで選択して処理をしようとしてもうまく行かなかったので備忘録。

Dim cell As Variant
For Each cell In Selection
    ' 何かの処理
Next

みたいにループを回して処理をしようとしても、オートフィルタで隠されているセルまで処理されてしまいます。
こんなときは、以下のようにしてみてください。

Dim cell As Variant
For Each cell In Selection.SpecialCells(xlCellTypeVisible)
    ' 何かの処理
Next

要は、オートフィルタをかけて「見えてるセルだけ」処理しろということなのですけどね。

Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account log in.