• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセルで抽出結果を別シートにコピーするマクロ)

エクセルで抽出結果を別シートにコピーするマクロ

Wendy02の回答

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.1

こんにちは。 >過去にこちらで投稿されていた質問 (QNo.2142846)の回答(ANo.1)を見つけましたので、実行してみました。 私も以前書いたのですが……。 もう一度、改めて、質問の要件を出していただいたほうがよいのかなって思います。 とても、前の方のマクロを使ったり修正というようなアテ推量なコードを書くことは出来ませんからね。確実性がほしいのです。 ソース・シート      A    B     地域名  売上      東京   10,000     東京西  12,000     東京東   8,000      というような感じで、シート名を、それぞれの地域名にして、売上をそのシートのB列あたりにコピーするのですか? ただ、「約100の地域」となると、おそらくは、途中でうまくいかなくなるような気がします。私は、シートの限界数を、40前後と考えています。空のシートなら、100以上も可能なのですが。 作り方は、オートフィルタで、それぞれを抽出して、それぞれのシートにコピーするだけです。

minato1980
質問者

補足

Wendy02 様 回答ありがとうございます。 分かりにくい質問の仕方で大変申し訳ありませんでした。 もう一度はじめから質問させていただきますので、よろしくお願いいたします。 ★したいこと★ 【元データSheet】 のデータを地域名ごとにオートフィルタして、その抽出結果を 各地域名のsheet(同じブック内に用意しています/約100シート)にコピーするマクロを作成したい。 ★つまづいたところ★ マクロを実行すると、【東京Sheet】の中に"東京西"のデータが入ってしまう。 (今のコードでは抽出条件が "東京を含む" のような意味になっている?) ↓以下、元データの内容です。    A   B         P    R    S  1 地域名 数量      地域名 地域名  シート名 2 東京  1        東京  東京    東京 3 東京西 2            東京西   東京西 4 東京  2            神戸   神戸 抽出したいA列のフィールド名"地域名"をP1に記入してP2に"東京"を仮に入れています。 R列に抽出したい地域名を縦に列挙しておきます。 S列には「東京」で抽出したデータを「東京Sheet」にコピーするというように、対応するコピー先ワークシートの名前を記述します。 ↓以下、コードです。コメントは私が勝手に解釈した内容です。 Sub 抽出結果を別シートにコピー() Dim MyRow As Long Application.ScreenUpdating = False MyRow = 2 '地域名シートの初期化→ s列MyRow行のSheet をクリア Do Until Sheets("元データ").Cells(MyRow, "r") = ""   Sheets(Sheets("元データ").Cells(MyRow, "s").Text).Select  Cells.Select  Selection.ClearContents  MyRow = MyRow + 1 Loop Sheets("元データ").Activate MyRow = 2 '抽出結果をシートにコピー Do Until Cells(MyRow, "r") = "" 'r列MyRow行の文字をp2に Range("p2") = Cells(MyRow, "r") '(p1:p2)を抽出条件にして、オートフィルタ。結果をs列MyRow行のSheetのa1にコピー Range("a1").CurrentRegion.AdvancedFilter xlFilterCopy, Range("p1:p2"), Sheets(Cells(MyRow, "s").Text).Range("a1") MyRow = MyRow + 1 Loop Application.ScreenUpdating = True End Sub 95個シートを作り実行したところ、問題の東京を含む地域名以外は 問題なく別シートにコピーされていました。 長くて余計見ずらくなりましたが、よろしくお願いいたします。

関連するQ&A

  • Excel マクロ抽出、別シートに張り付け

    Excelマクロについて質問です。 (1)特定の行の抽出方法 (2)抽出した複数の行を別シートに貼付ける方法 (3) 例 Cells(1,1)=Cells(2,1)=1 And Cells(1,3)=Cells(2,3)=1 And Cells(1,6)=Cells(2,6)=0の時のように、i=1,3,6でCells(k,i)=Cells(k+1,i)が成り立ち、Cells(k,i)の行だけを抜き出すコードの書き方を教えていただけますでしょうか? 宜しくお願い致します。

  • エクセル 関数 別シートへの抽出

    エクセル関数について質問します。 「数値の入ったセルだけを、その行ごと丸々別シートに抽出する方法」 について教えてください。 例、C列に空白セルと1、2や3など、数値の入ったセルがあります。空白セル以外の数値の入ったセルを、その行ごと別シートに抽出したい。 C3とC5に数値が入ってる→3行目と5行目を別シートに抽出する。 このようなことは関数でできるのでしょうか? マクロでないと無理でしょうか? お力をお貸しください。 よろしくお願いします。

  • エクセルで抽出したデータを別シートにコピーしたいです

    エクセル2003を使用しています。 例えば、以下のような表があります。  ABC 1あ10 2い15 3あ20 4 A列が条件となり、たとえば「あ」のデータだけ抽出して、そのデータを別シートにコピーします。 同じく「い」だけを抽出して、また別のシートにコピーします。 いままでは、オートフィルタで抽出して自分でコピーをして貼り付けしていましたが、日々データが次の行に追加になるので、毎回オートフィルタしてコピーするのは大変です。 関数か、マクロかVBAを使ってする方法はありますでしょうか。 できれば日々追加になるデータのみをすでにある別シートの前日までのデータの下に追加できるようになればいいと思うのですが。 知識が乏しくできません・・・ よろしくお願いいたします。

  • エクセルの使い方を教えてください!(別シートの要素の抽出方法)

    エクセルの使い方の質問です。 まず2つ、1000件ベースのデータが入ってるシートがあります。 Aシート・Bシートのあるカテゴリ、例えば「名前」を一致させて、一致したものだけ抽出・または処理する機能はありますか? あるようであれば是非使いかたを教えてください。

  • エクセル 2つのシートの抽出

    シート1 コード|地域|住所 0001|青森A|青森県青森市○丁目○-○ 0002|青森D|青森県青森市×丁目×-× 0003|岩手B|岩手県岩手市○丁目○-○ 0004|岩手D|岩手県岩手市×丁目×-×         シート2   コード|(住所を抽出したい) 0003| 0001|  シート1は一覧表で、シート2は今回の対象だとします。 シート2のコードとシート1のコードが一致したら、 シート2のB列にシート1の住所を抽出したいのですが、どのような方法があるのでしょうか?教えて下さい。

  • エクセルマクロ 抽出したデータを別のシートへコピーしたい

    マクロ初心者のため、やり方が全くわかりません。 どなたか教えてください。 やりたいことは、 【1】シート名「データ」をA列でオートフィルタ抽出して、別シートにコピーする。 【2】別シートにコピーしたデータに外枠罫線をつける。 【3】シート名「データ」には塗りつぶしがあるので、別シートにコピーされた塗りつぶしは「なし」する。 【4】シート名「Sheet1」の1~2行目をコピーし、別シートの1~2行目に挿入し、シート名「データ」に戻る。 コピーするシートはあらかじめ作成しています。 簡素化の方法がわからないので、 とりあえず自分で作ってみたものが下にあるものです。 繰り返す方法がわからないので、今はコピーして「あ行」の部分を書き換えています。(かなり面倒です) 最終的には、抽出されたそれぞれのシートを別々のブックにしたいとも思っています。 長々とすみませんが、どなたか教えてください。 よろしくお願いします。 以下、作成したマクロです。 Sheets("データ").Select Range("A1").Select Range(Selection, ActiveCell.SpecialCells(xlLastCell)).Select Selection.AutoFilter Selection.AutoFilter Field:=1, Criteria1:="あ行", Operator:=xlAnd Range("A1").Select Range(Selection, ActiveCell.SpecialCells(xlLastCell)).Select Selection.Copy Sheets("あ行").Select Range("A1").Select ActiveSheet.Paste Range("A1").Select Range(Selection, ActiveCell.SpecialCells(xlLastCell)).Select Selection.Borders(xlDiagonalDown).LineStyle = xlNone Selection.Borders(xlDiagonalUp).LineStyle = xlNone With Selection.Borders(xlEdgeBottom) .LineStyle = xlContinuous .Weight = xlMedium .ColorIndex = xlAutomatic End With Cells.Select Selection.Interior.ColorIndex = xlNone Sheets("Sheet1").Select Rows("1:2").Select Selection.Copy Sheets("あ行").Activate Rows("1:1").Select Selection.Insert Shift:=xlDown Range("A1").Select Sheets("データ").Select Range("A1").Select

  • エクセルのVBAマクロで検索と結果表示(抽出)

    エクセルのVBAマクロで検索と結果表示(抽出)を行いたいです。 業務で使用している膨大なリストデータから、特定のキーワードで情報の絞り込みを行いたいのですが、上手くマクロが組めません。 機能としては、シート1で特定のキーワード(テキストボックスに)を入力し検索ボタンを押下すると、 シート2のリストデータから検索に引っかかったセルの"行"を、シート1にリストアップ(貼り付け)していくようなマクロを作りたいのです。 シート2にはB列~AH列xn行のリストデータがあり、シート2のK列のセル内から「シート1のテキストボックスで入力したキーワードを含む」検索を行い、 HITした行をシート1のA9の行から結果として表示を行いたいんです。 簡単に言えばオートフィルタ機能の部分一致版を作りたいのですが・・・。 (オートフィルタでは完全一致でしか抽出が出来ないので) そして、検索ボタンを押下すると前回結果はクリアしたいです。 ネット上のサンプル等も参考にしながらやってみたのですが上手く行きません。。。 どなたか上記のマクロ文をご教授願えないでしょうか。 必要な情報(シート2の特定の列)のみ表示させたいとも思いましたが、むずかしくて断念・・・。 もし可能でしたらこちらもお願い致します。 よろしくお願いいたします。

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

    はじめまして。マクロ初心者です。 エクセルで抽出結果を別シートにコピーしたいのですが、 抽出条件が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です。 本やホームページを参考に試行錯誤したのですが、うまくいきません…。 どなたかご回答よろしくお願いいたします。  

  • エクセル複数のシートから抽出集計したいのですが・・

    Excel2010を使っています。 複数のシートから、同じ名称のセルを抽出して集計する方法はないでしょうか?関数だけでは無理と思い、VBやらマクロやら・・私では無理でしょうか? _______       A    B      C       D         E        F      G1    1 NO   日付   開始時間   終了時間   時間数    備考    営業所 2  1    4/15   10:00      13:00      1.0          所沢営業所 3   2    4/20   12:30      15:00      2.5          多摩営業所 4   3    4/22   11:00      13:00      4.0          西東京営業所 5   4    4/25   13:00      15:00      2.0          所沢営業所 6   5    4/27    9:00      13:00      4.0          横浜営業所 _________________________ _このようなシートが20シート程(増減します)あります。G:営業所の部分がリストで出るようになっていて その営業所ごとの集計をしたいと思います。ほかのシートまたはデータに B~Eのセルが自動的に抽出できるようなやり方はありませんか? よろしくおねがいします。

  • Excel 2007 マクロ 表の値の抽出について質問させて頂きます。

    Excel 2007 マクロ 表の値の抽出について質問させて頂きます。 4つの表がSheet1にあります。 表は画像として添付しました。 外国産、国産、その他のいずれかの列に数値が入って いる行をコピーしてSheet2に貼り付けるマクロを考えています。 昨日、2つの表の場合のマクロのご回答を頂きました。 2つ表が追加されると上の2つは、抽出されるのですが 下2つは抽出されません。 表が4つと2つではマクロが異なるのでしょうか。 マクロ超初心者ですので、文が長くなっても構いません。 容易なマクロのサンプルをご紹介いただけませんでしょうか。