• ベストアンサー

オートフィルタのかかった行のセルを、選択するコードは?

NNAQの回答

  • ベストアンサー
  • NNAQ
  • ベストアンサー率56% (104/184)
回答No.4

AutoFilterオブジェクト AutoFilterプロパティ AutoFilterメソッド と、あるのでややこしいですね。 '「本質問の回答コード」 ActiveSheet.AutoFilter.Range.Cells(1, 3).Select

oshietecho-dai
質問者

お礼

ご回答、誠に有難うございました。 おかげさまで、大変安全に使用できます。

関連するQ&A

  • フィルタで検索した行をマクロで削除する時のコード。

    フィルタで検索した行を一括して削除するマクロを作りました。 記録して加工したマクロで今のところ動くのですが、 理解不能の箇所があるので教えてください。 下記マクロはC列の空白行をフィルターで選択して、表示された行を削除するマクロです。(データは2行目から始まっていて、フィルターは1行目に行います。また、行は全て連続しています。) また、コメントを各コードにつけています。 ここで、コメント内の(1)で示した箇所は2行目を選ぶことになっているのですが、何故これで良いのでしょう?2行目のデータがフィルターにより隠れることもあるのですが、このコードできちんと動きます。 可視セルしか削除しないのなら、分かるのですが、 そのようなコードも無いようですし・・・ なぜこのコードで動くのか教えてください。 Rows("1:1").Select  '1行目を選ぶ Selection.AutoFilter  'オートフィルター Range("C1").Select   'C1を選ぶ Selection.AutoFilter Field:=3, Criteria1:="=" '空白行を探す。Field3は不明です Rows("2:2").Select  '(1) 2行目を選択 Range(Selection, Selection.End(xlDown)).Select '2行目から連続した最後の行までを選択 Selection.Delete Shift:=xlUp  '選んだところをDelして上に詰める。 Range("C1").Select  'C1を選ぶ Selection.AutoFilter Field:=3  'フィルタ解除 基本的なことかもしれませんが、ご教示頂ければ幸いです。 よろしくお願いします。

  • VBAのオートフィルタのタイトル行

    3行目をタイトル行として、3行目以降(で13列にABCという文字列が入っている行)をセレクトすることは可能でしょうか? 以下のようなコードを書くと、1行目にオートフィルタがかかり、1行目もセレクトされてしまいます(13列にABCという文字列が入っている行は正しく選択されています)。 なお、A列はブランク、B1、B2には検索とは無関係の文字列が入っております。 どうぞ宜しくお願いいたします。 Sub 絞り込み() With Worksheets("マスタ0701").Range("B3") .AutoFilter Field:=13, Criteria1:="ABC" .CurrentRegion.Select '.AutoFilter End With End Sub

  • 1行のVBAコードでフィルタの解除したい

    フィールド1 フィールド2 1         あ 2         い 3         う で、コマンドボタンを押したら、 A列にフィルタがかかっていても、 B列にフィルタがかかっていても、解除したいのですが、 どういうコードにすればいいのでしょうか? Private Sub CommandButton1_Click() Selection.AutoFilter Field:=1 Selection.AutoFilter Field:=2 End Sub こうするしかないでしょうか? 今は2列だから良いのですが、実際のデータは、30列以上あります。 その場合、1行のVBAコードでフィルタの解除が出来ればいいなーと思っています。 ご回答よろしくお願いします。

  • オートフィルタを使わずに行削除

    こんにちは。 簡易記録のマクロで実行したものが、以下となります。 オートフィルタで選択した0以下の行を削除するために選択した物になります。 Sub 0以下を削除() ' Macro test ' ActiveSheet.Range("$A$1:$G$165").AutoFilter Field:=7, Criteria1:="<=0", _ Operator:=xlAnd Rows("3:56").Select ActiveWindow.SmallScroll Down:=66 Rows("3:165").Select Selection.Delete Shift:=xlUp ActiveSheet.Range("$A$1:$G$123").AutoFilter Field:=7 End Sub 行数は、日によって、様々で何千行となる場合もあります。 そこで、オートフィルタを使用せず、G列目の0以下の数値を行削除を行いたいです。 どのように設定したらいいか教えて頂けると幸いです。 不備がありましたら、補足を入れますので、 お手数ではございますが、宜しくお願い致します。

  • 【エクセル マクロ】オートフィルター後の行削除

    Excel2003を使用しています。 オートフィルターを利用した作業をマクロの記録で処理していて 抽出されたデータを行ごと削除しているのですが Selection.AutoFilter Field:=1, Criteria1:="仕入先コード" Rows("4:2102").Select Selection.Delete shift:=xlUp Selection.AutoFilter Field:=2, Criteria1:="仕入先合計" Rows("7:2008").Select Selection.Delete shift:=xlUp …と、上記のような行番号で指定されてしまい 毎月データ数が増減するので、うまく処理出来ません。 (データは、テキストファイルからエクセルに取り込んでいます) 過去の例で近いものがあれば記述の中に取り込んでみましたが… これもうまくいきませんでした。 毎月変わるデータ数に対応できるマクロの記述を教えて下さい。 よろしくお願いします。

  • 可視セルの削除

    オートフィルタで抽出したデータを行ごと削除するのですが、 可視セルで検索をすると、1列目の見出し行も含まれてしまいます。 1列目を除くには、どのように記述したらいいのでしょうか? Selection.AutoFilter Selection.AutoFilter Field:=5, Criteria1:="=" Selection.SpecialCells(xlCellTypeVisible).Select ↑これで、今、削除したい部分、プラス見出し行が選択されています。

  • 【マクロ】オートフィルター内の全データが削除される

    こんにちは、質問させていただきます。宜しくお願いします。 [エクセル] 2007 [内容] オートフィルタをかけ任意のデータのみ消したいのですが 全てのデータが消えてしまいます。 [詳細] A1~C5までデータが入っているのもだと仮定します。 (実際には項目があってフィルタがきちんとかかるものとします。)    A   B   C ----------------------- 1  ○   2個  \10 2  △   1個  \5 3  ×   3個  \15 4  ○   1個  \20 5  ○   4個  \5 オートフィルタをかけA列を基準として「○」を選択します。 そして選択した「○」を含む行(1行・4行・5行)を削除し 2行・3行目が残るようにしたいです。 その一連をマクロにして処理したいのですが… 1行から5行のすべての行データが削除されてしまいます。 <マクロ作成> マクロを記憶する。 ↓ 手動でオートフィルタをかけ、「○」を選択して行を削除 ↓ マクロの記憶を終了。 ↓ マクロ文の削除する行範囲をA1からC5に書き換え ↓ マクロ実行 <マクロ作成文>  Selection.AutoFilter Selection.AutoFilter Field:=1, Criteria1:="○" ActiveSheet.Range("A1:C5").Select Selection.Delete Shift:=xlUp ※エクセル2007のバージョンによっては選択した「○」のみ 削除されるPCもありましたので、何か設定があるのかな?と 思いましたが…解決しませんでした。 何か良い案があれば教えていただきたいです。 宜しくお願い致します。

  • オートフィルタを変更しフィルタ付け

    Excel2000使用。 今あるシートに縦が3段目(行カラムが3から始まる)から横にA列からH列までの表があり、 その内6つの列A、B、C、D、E、F列にオートフィルタでフィルタをつけています。 このうちB,Dのフィルタを削除したいのですが、うまくいきません。 とびとびでかけることは可能ですか?(A,C,E列のみフィルタかけ) そのための操作を教えてください。

  • エクセルVBAのオートフィルタについて

    オートフィルタ後の範囲選択で教えてください。 1行目にタイトルがある表で Range("a1").AutoFilter Field:=2, Criteria1:="PC" Range("A1").CurrentRegion.Select と実行すると1行目のタイトル行を含めて商品がPCの行が セレクトされます。 オートフィルタを何度も実行した結果を別シートにまとめる為 2回目以降はタイトル行を含めずにセレクトしたいのですが やり方がわかりません。お知恵をお貸しください。

  • VBAでオートフィルタの可視セルクリア後空白行削除がうまくできません

    VBA初心者です。 オートフィルターで抽出した行を削除したくて、以下のように書いたのですが、最後の一文でエラーになってしまいます。 ◆エラー内容◆ 実行時エラー1004 重複する選択範囲に対してそのコマンドを使用することはできません。 ◆書いたVBA◆   Range("A2").Select Selection.AutoFilter Field:=1, Criteria1:="=1111", Operator:=xlAnd 'オートフィルターで「1111」を抽出 Dim r As Range Set r = Range(Range("A3"), Range("A" & Rows.Count).End(xlUp)).SpecialCells(xlCellTypeVisible) r.ClearContents 'A列の可視セルの値をクリア Range("A2").Select Selection.AutoFilter 'オートフィルターの解除 r.SpecialCells(xlCellTypeBlanks).EntireRow.Delete 'A列が空白の行は削除→ ココがエラーになります --------------------------------------------------------- 元のファイル構成は2行目に項目名で、3行目からデータが入っています。 いろいろ調べたのですが、よくわからなかったので教えていただければ 幸いです。 宜しくお願いします。