• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ExcelVBAで、フィルタリング後の一覧から値を取得)

ExcelVBAでフィルタリング後の一覧から値を取得する方法

このQ&Aのポイント
  • ExcelVBAを使用して、フィルタリング後の一覧から値を取得する方法について質問します。
  • 100件のデータから、フィルタの条件で10件程度に絞り込んだ場合、その列の値を配列に格納したいです。
  • 現在は、フィルタリングの条件を無視して行を選択してしまっています。正しいコマンドを教えていただきたいです。

質問者が選んだベストアンサー

  • ベストアンサー
  • papayuka
  • ベストアンサー率45% (1388/3066)
回答No.1

あまりスマートじゃないけど、、、 抽出件数が少ないならMsgbox のコメントアウトを外して実行して見て下さい。 抽出した値をメッセージ表示します。 Sub Test() Dim r As Range, fr As Range With ActiveSheet   .Range("B7").CurrentRegion.AutoFilter _            Field:=2, Criteria1:="=?n????"   If .Range("B65536").End(xlUp).Row > 7 Then     Set fr = .Range("B7", .Range("B65536").End(xlUp)). _            SpecialCells(xlCellTypeVisible)     For Each r In fr       If r.Address <> "$B$7" Then         'MsgBox r.Value         Debug.Print r.Value       End If     Next r   End If End With End Sub

takashi_it
質問者

お礼

ありがとうございます。 SpecialCells(xlCellTypeVisible) を使って解決できました。

関連するQ&A