• ベストアンサー

エクセル2003 マクロ

オートフィルターを使って、「○○を含む」と抽出する事をマクロで行いたいです。○○に入る抽出の条件は変動します。どこかに入力値を持たせておく必要があると思うのですが、マクロについては初心者でほとんどわかりません。どなたか教えてください。よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.3

>どこかに入力値を持たせておく必要があると思うのですが プログラム実行中の変数に持たせればようと思います。 これをコマンドボタンで発動するようにするとよい。 下記はそうはしてませんが。 上行のAutoFilterは解除のためものです。 Sub test01() Worksheets("Sheet1").Range("A1").Select x = InputBox("選択内容") d = Range("a65536").End(xlUp).Row Range(Cells(1, "A"), Cells(d, "A")).AutoFilter Range(Cells(1, "A"), Cells(d, "A")).AutoFilter field:=1, Criteria1:=x End Sub 列も指定なら Sub test01() Worksheets("Sheet1").Range("A1").Select x = InputBox("選択内容") y = Val(InputBox("列")) d = Range("a65536").End(xlUp).Row Range(Cells(1, y), Cells(d, y)).AutoFilter Range(Cells(1, y), Cells(d, y)).AutoFilter field:=1, Criteria1:=x End Sub

ktnb1127
質問者

お礼

ありがとうございます 早速チャレンジしてみます。

その他の回答 (2)

  • tarodaro
  • ベストアンサー率43% (7/16)
回答No.2

「フィルタオプション」でも支障がなければ、「マクロの記録」で 作ったマクロがそのまま使えます 「リスト範囲」を余分に設定しておけば、変数的な要素が なくなりますから

ktnb1127
質問者

お礼

早々に回答ありがとうございます

回答No.1

エクセルの機能「マクロの記録」を活用しましょう。 すると「AutoFilter」というメソッドを知ることができると思います。 その後「過去の質問履歴」から「AutoFilter」を検索しましょう。 それほど履歴にも多くは存在して無かったので、探し易いと思います。 http://okwave.jp/kotaeru.php3?q=1799364

ktnb1127
質問者

お礼

ありがとうございます 早速、検索してみます。

関連するQ&A

  • エクセルのマクロのことです。

    いつも、お世話になっております。 エクセルでシート1にデータがあります。 シート2のA1に入力した文字を含む行をオートフィルタで抽出する。 これをマクロを使ってできるでしょうか? 宜しくお願いいたします。

  • エクセルで閉じるときのマクロ

    あるエクセルファイルがあり、 その一枚のシートにはオートフィルタ (A~Z列まで)を使用しています。 【質問1】 ファイルを保存して閉じる際、 オートフィルタで抽出したものを 「すべて」に戻す、 つまりなにも抽出されていない(=左端の行番号が黒字) に戻すマクロはどこにどのように書けばよいでしょうか? オートフィルタを戻すマクロは、 'オートフィルタのあるシートを選択 Sheets("買取リスト").Select 'T列のオートフィルタを「すべて」にする Selection.AutoFilter Field:=22 というところまでは理解できました。 【質問2】 上記のマクロを Sheets("顧客リスト") から、Sheets("商品リスト")へ移動した際、 ボタン等を使用せずに、 (ただ、下のタブをクリックするだけで) 実行させることは可能でしょうか? 可能であれば、どこにどのように記述すれば よいでしょうか??  よろしくお願いします。

  • 《エクセル》 オートフィルタで指定した行だけ指定するマクロ

    いつもお世話になります。 「オートフィルタで条件を指定して行を抽出し、その行のデータを削除する」 というマクロを作成したいのですが、うまく行きません。 そのようなマクロの式か、もしくはオートフィルタを使う以外で、同じ機能を果たせるマクロがあれば、教えていただけますでしょうか。

  • エクセルのオートフィルターの使い方

    エクセル2010で1000行程度の表からオートフィルターで必要な情報を抽出しているのですが、該当する条件を▼セルで探すのも面倒なので、所定のセルに条件を入力したらオートフィルターで抽出できる方法があれば教えてください。

  • オートフィルタ後の、マクロでの値の参照に関して

    オートフィルタ後の、マクロでの値の参照に関して 下記を悩んでいます。教えて頂ければ幸いです。 マクロで、あるデーター表から、オートフィルタを使用し、必要なデーターを 抽出し、マクロ内に戻し、その後の計算で使用したいと考えています。 A列、B列、C列にそれぞれ、検索条件を指定し、オートフィルタ後、下記のような状態になります。 参照したい値は、D列になります。 下記のような例では、2.5と2.7の値をマクロ内に戻したいです。 (例:オートフィルタ後) 1行  A▼  B▼  C▼  D 16行 **  **   **  2.5   20行 **  **   **  2.7 *2~15行目は見えなくなっています。 *17~19行目は見えなくなっています。 セルを参照し、マクロ内に戻すには、どのような構文(マクロ)の記述が必要でしょうか? 【備考】 ・上記の例では、セルはD16、D20となりますが、抽出条件によっては、行番号が変わってしまいます。 ・抽出後のD列のデーター数は、常に2つです。 よろしくお願いします。

  • エクセルでの検索

    オートフィルタで行うことを、オートフィルタをいちいち起動しなくてもできるようにしたいのですが・・・ どのようなことかといいますと、まず1万件くらいの住所録があるとします。 1行目には「氏名」「〒」「住所」と書き、2行目から1万件のデータを入力してあります。 たとえばこの中から「港区」を抽出するのに、オートフィルタだと 「港区」「を含む」 などの条件で抽出できますが、オートフィルタを使わずに、1行目の「住所」の右のセルに(D4)に「港区」と入力しただけで 港区が抽出されるようにしたいのです。 条件は「を含む」くらいしか使用しません。 なにかアドバイスをお願いします。

  • エクセルで、複数の条件で一括抽出したい

    エクセルで、いくつかの条件で一致するセルを抽出するのですが、 オートフィルタだと、ひとつずつ条件を入力して抽出する事しか出来ません。どこかに条件をため込み入力しておいて、何らかの操作でそれを一括抽出する方法はありませんか?

  • エクセル2000マクロ操作

       Q列   終了時間  2001/11/25 3:00  2001/12/26 11:30  2002/1/24 11:30  2002/2/24 11:30   データベースの中から条件抽出をしたい。 条件は 2001 12/26 8:00以上で 2002 1/26 7:59以下を抽出したい。 今現在は、フィルタのオプション抽出でマクロ記録でやっているのですが。 西暦は条件に入れてなくて日付時間でやっていますので、来年の西暦が来たときに 2001 12/26 8:00以上の抽出ができません。抽出条件のいい方法があったら教えてください。 マクロ操作で出来たらお願いします。  

  • マクロの組み方

    エクセルオートフィルターのような抽出がしたいです。   A   B   C 1  01 営業  小川 2  01 営業  大川 3  02 事務  浜田 4  02 事務  松本 5 01  営業  山本 上記の中から抽出したいのですが セル(E)に01と入力したら隣に営業と自動で出てきて、 さらに、小川・大川・山本とフィルターのようなかんじで出てきてほしいのですが・・・。営業に対して三つの名前が出てくる(1対3) マクロ初心者なので説明もお願いしたいのですが・・・。 わがままですみません。

  • マクロを使って抽出する

    マクロを使った抽出について教えてください。 A列  B列  C列  D列 番号  区分  氏名  年齢  *区分はA~Pが入ります。  *リスト範囲:A1:D200 セル[F1]に区分(A~P)を入力して実行すると35歳以上を抽出する。 オートフィルタの設定を使わずマクロで実行したいのですが、どのようなマクロを書けばよいのかわかりません。 マクロ初心者で申し訳ありませんが、よろしくご教授ください。

専門家に質問してみよう