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

データのリストからオートフィルターでE列のある特定のデータを表示し、それが複数の場合、最下行は
Cells(ActiveSheet.Rows.Count, "E").End(xlUp).Row
で取得できますが、見出しのすぐ下に来る一番目のデータがある最上行はどうやって取得したらいいのでしょうか?

よろしくお願いします。

A 回答 (1件)

オートフィルタで非表示になっている行ではRowsのHiddenプロパティがTrueになっていることを利用して、



Dim 行 As Long
行 = 2
While ActiveSheet.Rows(行).Hidden
  行 = 行 + 1
Wend

とすると、変数「行」に先頭の行番号が入ります。
    • good
    • 14
この回答へのお礼

ありがとうございました。
出来ました。

でも、よく考えたらオートフィルターで検索してE列の一番上に来るセルの行番号ならMatchでも求められましたね。教えていただいた方法もとても勉強になりました。ありがとういございます。

Sub FirstRow()
検索値 = "XX"
MsgBox Application.Match(検索値, Columns("E"), 0)
End Sub

お礼日時:2005/04/03 10:50

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

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A