- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ExcelVBAで、フィルタリング後の一覧から値を取得)
ExcelVBAでフィルタリング後の一覧から値を取得する方法
このQ&Aのポイント
- ExcelVBAを使用して、フィルタリング後の一覧から値を取得する方法について質問します。
- 100件のデータから、フィルタの条件で10件程度に絞り込んだ場合、その列の値を配列に格納したいです。
- 現在は、フィルタリングの条件を無視して行を選択してしまっています。正しいコマンドを教えていただきたいです。
- みんなの回答 (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
お礼
ありがとうございます。 SpecialCells(xlCellTypeVisible) を使って解決できました。