電子書籍の厳選無料作品が豊富!

EXCEL2003のVBAを使っています。

オートフィルタで抽出させた表があります。
入力されているセルの、1つ下のセルを選択するにはどうしたら良いでしょうか。

    A
1  あああ 
2  あああ 
5  あああ  1行目から19行目までの列の中で、"あああ"だけをオートフィルタで抽出している
10  あああ 
14  あああ  
16  あああ 
20   ※ ←ここを選択したい。



Range("A65536").Select
Selection.End(xlUp).Select
ActiveCell.Offset(1, 0).Select

これだとA17のセルが選択されてしまいます。
表全体の1つ下のセルを選択する方法はあるでしょうか?

A 回答 (5件)

たとえば:


sub macro3()
 if activesheet.filtermode then
  with activesheet.autofilter.range
   .offset(.rows.count).cells(1).select
  end with
 else
  range("A65536").end(xlup).offset(1).select
 end if
end sub



かならずA1からオートフィルタが始まっているならもうちょい簡単にできます

sub macro1()
range("A1").offset(activesheet.autofilter.range.rows.count).select
end sub
    • good
    • 0
この回答へのお礼

できました!ありがとうございました~。

お礼日時:2011/09/17 17:34

こんにちは。

別案でこんなのもあります。
前提として「Sheet1で1行目からデータが詰まっている」ことが条件となります。
1行目が空欄だったりすると、「+1」を「+2」とかに調整する必要があります。
ご参考になれば幸いです。

Sub Test()
Dim r As Integer

'Sheet1で「使われている」セル範囲の行数を取得
r = Sheets("Sheet1").UsedRange.Rows.Count + 1
Sheets("Sheets1").Cells(r, 1).Select

End Sub
    • good
    • 0

文章の方言による説明を併用せよ。

出ないと本件は意味がわからない。
(1)元データの最終行の次行は判るよね。
(2)フィルタ済みの状態で、可視セルの最下(大)行の次を求めたいのか
例データ A列
コード
a
a
a
s
d
a
d
f
a
a
x
x
d
ここで「a」などを選んで(フィルタし)、下記を実行してみてください。
Sub test01()
d = Range("A65536").End(xlUp).Row
MsgBox d
d = Range("A2").End(xlDown).Row
MsgBox d
k = 0
For i = 1 To 20
If Cells(i, "A") = "" Then
MsgBox k
Exit For
Else
k = k + 1
End If
Next i
End Sub
泥臭いやり方だが、1行の記述で済む様なコードはあるのかな。
ーー
フィルタ結果表示状態を崩しても良いのなら、
Sub test02()
ActiveSheet.ShowAllData
d = Range("A65536").End(xlUp).Row
MsgBox d
End Sub
だが、これではダメなのだろうね。
ShowAllDataは「すべて」状態だとエラーになるので注意。
ーー
本題は>1つ下のセルを選択するにはどうしたら・・なので
Cells(d + 1, "A").Select
は必要ですが。
    • good
    • 0

Range("A65536").Select


Selection.End(xlUp).Select
SendKeys "{down}"
に変更してみては?
    • good
    • 0

オートフィルタで上記のようになると言うことは、A1~A19までは何かしら入力されていて、A20からは何も入力されていないと言うことですよね?



だとすれば

n = 1
Do Until Cells(n, 1) = ""
n = n + 1
Loop
Cells(n, 1).Select

で良いのじゃないでしょうか?

ようは、一行ずつ空白かどうかを見て、空白になったらループを止めてそのセルを選択する、という単純なマクロです。

ご参考まで。
    • good
    • 0

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