プロが教える店舗&オフィスのセキュリティ対策術

オートフィルタによって抽出した結果、表示されている行の内容を順々に参照していきたいのですが、
どうすればよいのでしょうか?
簡単なことのような気がするのですが・・・。

ActiveCell.Offset(1, 0).Select
とすると、フィルタによって非表示になっている行にも移動してしまいます。


フィルタによって抽出する項目は複数の列を使用するので、マクロでは抽出条件を設定しません。

以上、お願いしまーす。

A 回答 (2件)

#1です。



Set DataRng = Range("A1").CurrentRegion

を次のように変更してみて下さい。

'A列の開始セルから終了セルまで
Set DataRng = Range(Range("A1"), Range("A1").End(xlDown))
    • good
    • 1
この回答へのお礼

ありがとうございました。
思っていたように動きました。

お礼日時:2005/02/19 23:51

こんな感じです。

ポイントは可視セルですね。


Dim DataRng As Range, QueryRng As Range
Dim rngCell As Range

'データ範囲
Set DataRng = Range("A1").CurrentRegion

'Auto Filterで抽出されたデータ範囲をQueryRngにセット
'DataRng内の可視セル
Set QueryRng = DataRng.SpecialCells(xlCellTypeVisible)

'QueryRng内のセルを一つずつ参照
For Each rngCell In QueryRng

  '実際の処理
  Debug.Print rngCell.Text & vbCrLf

Next rngCell

この回答への補足

ご回答ありがとうございます。

教えていただいた方法だと一番上の行から、
(A,1)→(A,2)→(A,3)→(A,4)→(B,1)→(B,2)→(B,3)→(B,4)→(C,1)→(C,2)→(C,3)→(C,4)→(D,1)→(D,2)→(D,3)→(D,4)
のように移動していくのですが、
A列だけを移動したい場合はどうすればよいのでしょうか?

補足日時:2005/02/19 20:46
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!