
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つ下のセルを選択する方法はあるでしょうか?
No.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
No.4
- 回答日時:
こんにちは。
別案でこんなのもあります。前提として「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
No.3
- 回答日時:
文章の方言による説明を併用せよ。
出ないと本件は意味がわからない。(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
は必要ですが。
No.1
- 回答日時:
オートフィルタで上記のようになると言うことは、A1~A19までは何かしら入力されていて、A20からは何も入力されていないと言うことですよね?
だとすれば
n = 1
Do Until Cells(n, 1) = ""
n = n + 1
Loop
Cells(n, 1).Select
で良いのじゃないでしょうか?
ようは、一行ずつ空白かどうかを見て、空白になったらループを止めてそのセルを選択する、という単純なマクロです。
ご参考まで。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excel関数、何がいけないのかわ...
-
教えて下さい!関数SUBTOTALとC...
-
excelで奇数の行のみ削除したい
-
実写の時に使うaviutlのフィル...
-
エクセルで作成 混合名簿から...
-
オートフィルタで抽出したデー...
-
エクセルのフィルタをかけると...
-
オートフィルタをかけた表に一...
-
行番号の文字の色が青色の理由?
-
Excel VBAでオートフィルタで抽...
-
お肉の下のシートを煮込んでし...
-
Excel マクロ モジュラス43 vba
-
Excelの入力規則で2列表示したい
-
A1セルに入力したら、入力時間...
-
エクセルの複数のセルを一括で...
-
Excelで同じセルに箇条書きをし...
-
EXCELで○ヶ月を○年○ヶ月に変換...
-
セルを結合したA4とA5の条件付...
-
エクセルでセルを10個分くらい...
-
IF関数で0より大きい数値が入力...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルオートフィルタで余計...
-
=SUBTOTAL に =COUNTIF の機能...
-
Excel関数、何がいけないのかわ...
-
色フィルターをかけた状態で、...
-
行番号の文字の色が青色の理由?
-
オートフィルタで抽出したデー...
-
エクセルの計算表の下向き三角...
-
エクセルで、桁数の異なるデー...
-
エクセルのフィルタをかけると...
-
教えて下さい!関数SUBTOTALとC...
-
Excelでオートフィルタ時に交互...
-
Excel2010 フィルタで抽出できない
-
Excel VBAでフィルタしたものに...
-
Excelのセルのデータ:年...
-
オートフィルタをかけた表に一...
-
excelで奇数の行のみ削除したい
-
エクセルについて。 ソートで絞...
-
色のついたセルにフラグを立た...
-
Excel VBAでオートフィルタで抽...
-
エクセルを使用してデジタルフ...
おすすめ情報