Help us understand the problem. What is going on with this article?

意外と使えるExcelでオートフィルタで表示しているセルだけ取得するVBA

More than 3 years have passed since last update.

オートフィルタ等で表示しているセルだけ取得し、
非表示セルの情報は無視するコードサンプルです。

オートフィルタを使った処理と組み合わせると、とても便利です。
例えば、欲しい情報だけフィルタリングし、その情報を取得するような処理です。

以下がコードサンプルです。

サンプルでは行番号を取得していますが、この要領で値を取得することもできます。

VBA
Sub Visible_Search()

'変数定義
Dim p As Long , n As Long            'カウンタ変数
Dim r As Range, rr As Range, rs As Range      'Visibleセルを取得する変数
p = 0
n = 2

'Range("A1", Range("A" & Rows.Count).End(xlUp)):A1~データのある最下行
'SpecialCells(xlCellTypeVisible):表示されているセルのみを対象とする
Set r = Range("A1", Range("A" & Rows.Count).End(xlUp)).SpecialCells(xlCellTypeVisible)
'r:A1~データの存在する最大行セルまでの範囲(表示されているセルのみ)
'rr:A1~データの存在する最大行セルまで、A1から1つずつ格納される
For Each rr In r
    'rsへ選択セルの値を格納
    For Each rs In rr.Areas
        '選択セルの行数を取得
        p = (rs.Row)
        'Visible行の行番号を出力
         Sheets(X).Cells(n, 1).Value = p
         n = n + 1
        End If
    Next
Next

End Sub
umeee
プログラミングはエンタテイメントだ! 楽しむことがたいせつ。 興味のおもむくままにやりましょう。 最近のロールはプロジェクトマネージャ、ITコンサルタントです。
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした