エクセル初心者のためのオートフィルタとマクロの使い方

このQ&Aのポイント
  • エクセル初心者の方にオートフィルタとマクロの使い方についてご説明します。オートフィルタを使えばデータの抽出が簡単に行えます。また、マクロを使えば作業の自動化が可能です。
  • 具体的な作業内容として、Book1のファイルでオートフィルタを使ってデータを抽出し、抽出したデータをBからDのセルにコピーし、別ファイルのBook2のファイルのBからDに貼り付けます。さらに、Book1のEのセルとBook2のFのセルに本日の日付を入れる方法も説明します。
  • マクロを終了後、カーソルの位置をBook2のGのセルに置くこともできます。これらの方法を使えば、手作業で繰り返し行っていた作業を自動化できます。エクセル初心者でも簡単に使えるので、ぜひ試してみてください。
回答を見る
  • ベストアンサー

オートフィルタで抽出後、マクロでコピー&貼り付け

初めまして、エクセル初心者です。 以下のマクロを、自動記録でやろうとすると、うまくいきません。 類似質問を検索してみたものの、初心者のためアレンジがきかず・・・ 他力本願な質問になり、大変申し訳ないのですが、 どなたかお手すきのときに教えていただけると、 とてもうれしいです。 【やりたいこと】 (1)Book1のファイルで、  オートフィルタでデータを抽出後、  抽出したデータのBからDのセルをコピーし、  別ファイル、Book2のファイルの、  *BからDに「値」で貼り付けたい。  *Book2のBからDは、   上段までデータが入力してある状態で、   そのすぐ下段(空白)のBからDへ貼り付けたい。 (2)Book1(コピー元ファイル)のEのセルに  本日の日付を入れたい。 (3)Book2(コピー先ファイル)のFにも  本日の日付を入れたい。 (4)マクロ終了後、カーソルは、Book2(コピー先のファイル)  のGのセルに置いておきたい。 【補足】 抽出されるデータは一行のみです。 日中、上記の作業を手作業で繰り返していると、 頭がむず痒くなってくるもので、 何か良い方法はないものかと質問させていただきました。 以上、よろしくお願いいたします。

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

  • ベストアンサー
  • hige_082
  • ベストアンサー率50% (379/747)
回答No.1

>類似質問を検索してみたものの、初心者のためアレンジがきかず・・・ >他力本願な質問になり、 >日中、上記の作業を手作業で繰り返していると、 >頭がむず痒くなってくるもので、 こういう書き込みはしない方がよいですよ よく考えてください、勉強もしない、やる気も無い人に 赤の他人がアドバイスすると思いますか? 質問も中途半端 >以下のマクロを、自動記録でやろうとすると、うまくいきません。 何処がうまく行かないの? やりたい事を書くのはよいが、マクロの質問なら Excelのバージョン、コピー元、先のシート名 抽出もマクロでやるなら どの列どのようなデータから何を抽出するのか 表の構成もあると回答がしやすい Sub test() Dim Rng As Range With Workbooks("book1").Worksheets("sheet1") .Range("a1").AutoFilter Field:=1, Criteria1:="3" Set Rng = .Range("b2", .Range("b65536").End(xlUp)).SpecialCells(xlCellTypeVisible) .Cells(Rng.Row, 5).Value = Date Workbooks("book2").Worksheets("sheet2").Range("b65536").End(xlUp).Offset(1, 4).Value = Date Rng.Resize(1, 3).Copy Workbooks("book2").Worksheets("sheet2").Range("b65536").End(xlUp).Offset(1) End With Workbooks("book2").Worksheets("sheet2").Activate Range("b65536").End(xlUp).Offset(, 5).Select End Sub 以上、示されていない所は適当に決めたので このままでは、希望の結果はでないと思います 自分の環境に合わせてアレンジしてください これを機に勉強されては如何かと思います 厳しいことを書きましたが、社会人として節度のある書き込みをすれば 識者の有用な回答が複数得られると思います

mokomokone
質問者

お礼

hige_082様、はじめまして、こんばんは。 まずは、お詫びをさせてください。 ご指摘の件はごもっともですね、すみませんでした。 にもかかわらず、ご親切にマクロを教えてくださり、 ありがとうございました。 さっそく試してみましたら、希望通りの結果となり、 感激いたしました! ただ、せっかく教えていただいたこのマクロ、 今回はドンピシャで活用させていただきますが、 今後似たような作業をするさいに、 自分でアレンジできないのは、もったいないなぁ、と思いました。 hige_082様のアドバイスどおり、これを機に勉強をしてみます。 また、質問の仕方などへのアドバイスも、 なるほどなぁと、大変勉強になりました。 どうもありがとうございます。 今後ともぜひ、よろしくお願いいたします。

関連するQ&A

  • マクロでオートフィルターの抽出が出来ない

    下記のデーターをマクロで作成しましたが、2010/03/01は抽出するが、2010/03/02以降は デバッグが発生して上手くいきません。 どの様にすれば解決できるのか、ご教授お願いします。 現状) AファイルのA列のオートフィルタオプションで、抽出条件の指定にBファイルの C6をコピーして、「Ctrl」+「V」で貼り付け抽出すると2010/03/01の24時間分の データーが抽出されます。2010/03/02を抽出するとデバッグが発生する。 データーの詳細) Aファイルに「元データー Sheet」があり、A6~A44647に、 1ヶ月分の日付が記載されてます。 (B6~B44647には、24時間を1分間隔でのデーターがあります) A列の日付は、2010/03/01~2010/03/31のデーターがあり、 「セルの書式設定」を確認すると、「標準」設定で表記されてます。 オートフィルタによりA列の、各1日分のデーターを抽出させます。 Bファイルの「作成日指定 Sheet」のB3に2010/3/1を入力すると C6には「=$B$3」で「2010/03/01」と表示する様に「セルの書式設定」 「ユーザー定義」で「yyyy/mm/dd」を選択してます。(C36まで設定) 以下C7に「=$B$3+1」で、C8には「=$B$3+2」で、C36までで「2010/03/31」 と表示させてます。

  • Excelのオートフィルタでデータ抽出するマクロについて

    オートフィルタで指定した期間のデータ抽出のマクロを作成しているのですが上手くいきません。 例えばA列に 10月29日 11月1日 11月3日 11月5日 と日付を入力しており、B列、C列にデータを入力していたとして D列1行目に10月31日、D列2行目に11月4日と入力し D列1行目からD列2行目までと指定したデータを抽出するマクロを教えていただけませんか。 マクロ初心者で、困っております。どうかよろしく御願いします。

  • エクセルマクロでオートフィルタで抽出したものをコピーする方法を教えて下さい。

      | A | B | C | D 32| 5月|ロッチ|チョコ|150 エクセルのオートフィルタで抽出したデータをコピーしたいのですが、 毎回結果の行が変わるので、マクロでどう指定したらいいのかわかりません。 詳しい方教えて下さい!

  • エクセル 抽出マクロについて

    はじめまして。マクロ初心者です。 エクセルで抽出結果を別シートにコピーしたいのですが、 抽出条件が2列にわたっています。 A     B      C      D 日付   タイトル   分類(あ)  分類(い) 11/22   テレビ    3      2 12/15   ラジオ    1      4 11/18   雑誌     2      5 …というような感じです。 例えば分類が「2」のものを抽出したい時に、 ●シート1のあるセルに「2」と入力してマクロを実行。  ↓ ●シート2に以下のように結果をコピーして表示。 A       B 日付     タイトル 11/22     テレビ 11/18     雑誌 という具合にしたいのです。(C列、D列は表示しない) データはシート3に入力されていて、今後どんどん増えていく予定です。 エクセルは2007です。 本やホームページを参考に試行錯誤したのですが、うまくいきません…。 どなたかご回答よろしくお願いいたします。  

  • エクセルマクロでのコピー貼り付けについて

    マクロ初心者です。手作業に限界を感じマクロを勉強しましたが力不足です。 質問ではなく申し訳ございませんがよろしくお願いします。 コピーして貼り付けるだけのことなのですが、 以下が元のデータです。 認識コード 名称 日付 00000229 A 2012/2/21 00000229 A 2010/10/5 00000470 B 2012/3/30 00000470 B 2011/3/31 00000496 C 2011/7/5 00000496 C 2010/8/17 00000496 C 空白 変更後の形です。 認識コード 名称 日付 00000229 A 2012/2/21 2010/10/5 00000470 B 2012/3/30 2011/3/31 00000496 C 2011/7/5 2010/8/17   空白 元データにある認識コードが同じ項目の日付を横に並べていきたいですのですが 繰り返しを含め空白欄のコピーもうまくできません。 厚かましいこと極まりないですが、ご指導していただければと思います。

  • オートフィルターで抽出してコピー&印刷するマクロ

    いつもお世話になります。 エクセル2002です。 (1)オートフィルターでデータを抽出(部署ごと)する。(インプットボックスで) (2)抽出された行を1行ずつコピーし、【編集シート】のA1セルに貼り付け (3)【印刷シート】の印刷 (データが3行あれば3枚の印刷がしたいのです) 《データ》   A列  B列 1 (部署)(商品名) 2  01   商品1 3  01   商品2 4  02   商品1  5  02   商品3 ・・・・・・・・・・ ---------------- Sub Macro1() Dim 部署 部署 = InputBox("部署コードを入れてください") Selection.AutoFilter Field:=1, Criteria1:=部署 Range("A1").Select End Sub ------------------ ↑のマクロにどう追加すればよいのかわからないので、教えてください。 よろしくお願いします。

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

    オートフィルタ後の、マクロでの値の参照に関して 下記を悩んでいます。教えて頂ければ幸いです。 マクロで、あるデーター表から、オートフィルタを使用し、必要なデーターを 抽出し、マクロ内に戻し、その後の計算で使用したいと考えています。 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フォルダーに集約してある) それぞれA列に日付、B列に金額が入っている 複数あるブックを指定する日付で次から次へと検索しその金額とファイル名を新しいブックに縦に全てコピー(抽出)したい ちなみに、必ず条件にあうデータがそれぞれのブックにあるとは限りません 無い場合もあります 無い場合は特に抽出する必要はありません ========================================================= 例:2007/12のデータを抽出したい ★抽出結果イメージ    A      B    C 1 2007/12   200   ああああ.xls 2 2007/12   300   いいいい.xls 3 2007/12   100   うううう.xls 4   ・      ・      ・ 5   ・      ・      ・ 6   ・      ・      ・ 7   ・      ・      ・ ========================================================= このような場合、マクロでできますか?マクロは初心者です 教えてください よろしくお願いします 複数あるブックとは数的に60とかあります ちなみに現状はファイルを一つ一つ開き、指定日付を検索し見つけだし その行をコピーペーストしています たくさんブックがあるので、これをしていると目がチカチカしてきてしまいます この作業がマクロでできると、すごく感激なのですが・・・ どなたか、お知恵・お力をおかしくださいませ

  • オートフィルターで抽出されたデータの参照方法について

    1000件以上のデータをA,B、C列にオートフィルターをかけて抽出されたデータのA,B、C列およびD列目の値を参照する式を組みたいのですが、当然のことながらオートフィルターをかける都度、表示されるセル番地が変わるので式がくめません。 多分、マクロでコピーしてどこかにペーストすればいいのでしょうが、まったくわかりません。お教えください。

  • オートフィルタの結果を違うブックに貼り付ける

    マクロの初心者です。 Excel2003を使用しています。 仕事で作らなくてはならなくなったのですが、思うように動いてくれません。 【A・Bとブックが二つあります。AのブックのセルDにランダムで文字を入力します。その文字をコピーし、Bのブックを開き、オートフィルタでコピーした文字を貼り付けて、抽出します。その結果を上から3行コピーしてAのブックの他のシートに貼り付ける。】 このマクロを作りたいのですが、うまく出来ません。 あまり難しくないマクロで出来ればいいと思います。 よろしくお願いします。

専門家に質問してみよう