• 締切済み

エクセル-マクロを使って 別ファイルからデータ抽出

教えてくださ~いm(__)m。 下の様な時はどのようにしたらいいですか? Aファイルの"sheet1"の"A1"と"A2"に対象のコードを入力。 Bファイルの"sheet1"に"B列"~"G列"まで、データ件数は20000件位の元データがあります。キーは"B列”になります。 その対象のデータをAファイルの"sheet2"の"B列"~"G列"までコピーする。 このような感じなのですが、どなたか教えていただけますか?。 よろしくお願いします。

みんなの回答

  • ASIMOV
  • ベストアンサー率41% (982/2351)
回答No.3

Bファイルのファイル名は "B.xls" としています。違う場合は BF = "B.xls" を変えてください また、Bファイルの入っているフォルダーが違う場合は、フルパス(ドライブ名から)で指定してください ---------------------------- Sub SAMPL01()   BF = "B.xls"   l1 = 1   For i = 1 To 2     Sheet1.Activate     xd = Cells(1, i) ' A1,A2のコード     l2 = 1     Sheet2.Activate     Do       xl = ExecuteExcel4Macro("'[" & BF & "]Sheet1'!R" & l2 & "C2")       If xl <> 0 Then '終わりの判定         If xl = xd Then           Cells(l1, "B") = xl           Cells(l1, "C") = ExecuteExcel4Macro("'[" & BF & "]Sheet1'!R" & l2 & "C3")           Cells(l1, "D") = ExecuteExcel4Macro("'[" & BF & "]Sheet1'!R" & l2 & "C4")           Cells(l1, "E") = ExecuteExcel4Macro("'[" & BF & "]Sheet1'!R" & l2 & "C5")           Cells(l1, "F") = ExecuteExcel4Macro("'[" & BF & "]Sheet1'!R" & l2 & "C6")           Cells(l1, "G") = ExecuteExcel4Macro("'[" & BF & "]Sheet1'!R" & l2 & "C7")           l1 = l1 + 1         End If       Else         Exit Do       End If       l2 = l2 + 1     Loop   Next End Sub

  • ASIMOV
  • ベストアンサー率41% (982/2351)
回答No.2

>対象の日付で”20070601”と”20070630”など日付を色々変えて 20070601 ~ 20070630 30日分と言うことですか? >日付ごとに売上データなので複数存在しています 同じ日のデーターが複数有るという事でしょうか?

yuu1022
質問者

補足

度々ありがとうございます。 >20070601 ~ 20070630 30日分と言うことですか? from to ではなく、20070601と20070630の2日分です。 >同じ日のデーターが複数有るという事でしょうか? 同じ日付で複数存在します。 よろしくお願いします

  • ASIMOV
  • ベストアンサー率41% (982/2351)
回答No.1

>Aファイルの"sheet1"の"A1"と"A2"に対象のコードを なぜ、2つコードが有るのでしょうか? >キーは"B列”になります B列にコードが有るという事でしょうか? >その対象のデータをAファイルの"sheet2"の"B列"~"G列"までコピーする 2つ(2行)分...ですか?

yuu1022
質問者

補足

ASIMOV 様 ありがとうございます。 >なぜ、2つコードが有るのでしょうか? ↑は、対象の日付で”20070601”と”20070630”など日付を色々変えて 抽出したいので・・・。 >B列にコードが有るという事でしょうか? ↑に日付が入っています。(売上データ) >2つ(2行)分...ですか? 対象の日付のものを抽出したいので、日付ごとに売上データなので複数存在しています。 説明不足で申し訳ございません。 よろしくお願いします。

関連するQ&A

  • エクセル-マクロ 別ファイルからデータ抽出

    教えてくださいm(__)m。 Aファイルの"sheet1"の"A1"と"A2"に対象のユーザーコードを入力。 Bファイルの"sheet1"に"B1"~"G1"まで、データ件数は20000件位の元データがあります。キーは"B1"になります。 対象のデータをAファイルの"sheet2"に"B1"~"G1"までコピー。 このような感じなのですが、どなたか教えていただけますか?。 よろしくお願いします。

  • 別ファイルから重複するデータを探したい【エクセル】

    タイトル通りですが、エクセルで複数のファイルにあるデータから重複するコードを探したいのですが、どのようにしたらいいでしょうか? 仮に、ファイルAとファイルBとしますが、 ファイルAには約800件(全て別のコード)のデータがあり ファイルBにも約1000件のデータがあります。 ファイルBにある1000件のうちファイルAで使用しているコードと重複するデータを全て抽出したいのです。 (重複データがあることが判別できるようにしたいです) データはそれぞれの量が違いますし、個別に集計するにはいささか件数が多いので困っています。 分かりづらい文章ですみません… 詳しい方、どうかお知恵を貸してください。 何か補足が必要であれば追記します。どうかお願いしますm(_ _)m

  • Excel 別ファイルからのデータ抽出

    OfficeXP-Excelにて質問させて頂きます。 以下のような異なるファイルが2つあります。 ------------------- [ファイルA]     A         B     C     D     E     F    G 1    No.           1            2           3 2    氏名         山田         田中        佐藤 3             送付日 受領日  送付日 受領日 送付日 受領日 4   2007年04月分   4/2  4/27   4/3  4/26   4/2  4/25 5   2007年05月分   5/1  5/30   5/1  5/31   5/2  5/30                   ・                                     ・                   ・ (1行目・2行目のB:C、D:E、F:Gは結合されています。) ------------------- [ファイルB-シート2007/5]     A     B     C     D 1   2007年05月分 2     ←空白行 3   No.    氏名  送付日  受領日 4   1    山田 5   2    田中 6   3    佐藤                   ・                                     ・                   ・ ------------------- [ファイルA]のA4以降の『2007年**月分』のデータ『送付日』と『受領日』を [ファイルB]のセル[A1(2007年**月分)]と『No.』が一致する『送付日(C4~)』『受領日(D4~)』に 関数などを用いて抽出したいのです。 1年分のデータを1つの表にまとめて格納している[ファイルA]に対し[ファイルB]は各月のデータをシート毎に分けてあります。 [ファイルB]で元になるシートを作成しておき、毎月その元シートをコピーし[A1]の日付だけを変更すれば自動的に必要なデータを引っ張ってくるように出来ますでしょうか? 説明が解り辛ければ補足致しますので、何卒ご教示宜しくお願いします。

  • エクセル 別シートから一覧を抽出したい

    部品一覧表を作成しているのですが、2シートあり 1入力シート・2部品コードシートとあります。 部品コードシートにはB列に部品番号・C列部品名・D列部品番号・E列部品名と2行ずつ使い番号・品名がB~Wまで47行分入力されています。 B1:C47、D1:E47…と2列47行にはそれぞれ【A】、【B】、…とセルの名前の定義をつけました。現在【H】までありますが、今後増える可能性があります。 入力シートに、セルの名前を指定したときに部品コードのシートから 一覧を抽出したいのですが、どの関数を使えばよいのかわかりません。 入力シート                 |部品コードシート G   H                  | A Bコード C部品名  Dコード E部品名 4式入力用にあけています。     |1 1800  ユニットA   1501 電源A 5コード 部品名             |2 1801  ユニットB   1502 電源B 6                       |3 G4に関数を入れてG6~G52まで部品コードのシートA1~A47を一気に表示 させたいのです。部品コードシートの行数が変わることはありません。 マクロを使わないと、関数では難しいでしょうか?

  • 複数のエクセルファイルからのデータの抽出、一覧の作成について

    エクセルでのデータ整理の件で以下の質問があります。 以下のことができるようなマクロは組めませんでしょうか? 同一フォルダ(仮に、「C:\Sample」とします)に日々の業務データが 入力されたエクセルファイルが300個ほどあります。 各ファイル内にはSheetが5枚あり、各ファイルで入力されているデータは すべて同一のフォーマットです(Sheet毎では異なる。 例えば、Sheet1の1行A列には日付データ、Sheet2の2-5行B列には名前データ、といった感じです)。 これら300個のファイルから、これまでのデータを一覧にしたリストを 新規に作りたいと考えています(作成場所はどこでも構いません)。 例えばSheet1の、1列目にはファイル名、2列目には各ファイルSheet1の1行A列の日付データ、 3-6列目には各ファイルSheet2の2-5行B列の名前データ・・・、といった具合です。 (縦に日付が並び、1行内に各ファイルのデータが入力されている、 といった風にしたいと考えています。) 参考になりそうな過去の回答もありましたので、いくつか試してみたものの、 うまくいきませんでした(私はマクロは少しかじった程度です)。 一個ずつコピペでは非常に骨が折れ、難儀しております。 ややこしい質問ではございますが、ご回答お待ちしております。

  • EXCELで別ファイルからデータを抽出するには?

    EXCELについて条件に一致する列の内容を抽出する方法を教えてください。 シート1の行に日付があり、列に品名と日ごとの数を入力してあるシートがあります。 このシートの内容を別のシートに日付を入力すると、その日の内容が表示されるようにしたいのですが、うまくいきません。 [シート1]     1    2    3   4 (←日付) A品  10  20  30   40… B品  30   10  40  20… C品  15  16   17  18… D品  20  21   22  23… [シート2]     *(←日付を入力) A品 (   ) B品 (   ) C品 (   ) D品 (  ) シート1とシート2はそれぞれ別ファイルで同時に開いている状況です。 シート2の*部分に日付を入れると該当する日付の各品名の数量が( )の部分に表示されるようにするにはどうしたらよいですか?

  • Excelの関数を使ってデータを抽出する方法教えてください!!

    1のシートには、AとBの全てのデータがあります。2のシートには、1部だけのデータがあります。 データは、「コード」、「店名」、「住所」などが入力されています。 Aのシートから、Bのシートのデータを省いて抽出したいのですが、どうしたらいいでしょうか?? なお、それぞれに入っている「住所」や「店名」、「コード」などのデータは完全一致していないものもあります。 また、Aのシートの「コード」などの各データは、全て同じ列に入っていません。 これでは、無理でしょうか??

  • Excelでシート間のデータの抽出方法

    1つのブックに集計用のシートと、A店、B店、C店という各店舗別の売上シートがあります。 Sheet集計用のA1にA店のコード(A店は001、B店は002というようなコード)を入れると、Sheet集計用のB列の上期売上、C列の下期売上にSheetA店のB列の上期売上、C列の下期売上のデータが入るようにすることは可能でしょうか? Sheet集計用のA1のコード変更することによってデータを引っ張ってくるシートが変わる様にしたいということなんですが、Excelでどのようにすればいいかわかりません。 各店舗のシートのA1のセルにも、その店舗のコードが入力されています。

  • エクセル 別のファイルにデータを流し込む方法

    エクセル 別のファイルにデータを流し込む方法 エクセルで、1つのファイルに入力してあるデータの内、 特定の行のデータを指定して、別のファイルに体裁(レイアウト)を変えて 表示させる方法を教えてください。 具体的には、例えば、元データのファイル(仮にBook1)が、 列に、A列-日付、B列-時間、C列-利用場所、D列-顧客番号、 E列-顧客氏名、F列-利用内容、G列-判定 というような項目を並べて、 1行ずつ、データが入力してあるファイルがあるとします。 この元データのファイルを利用して、別のファイル(仮にBook2)、 例えば、FAX送信用の紙のような書式のファイルに、 1枚の紙に、1人分のデータを、 流し込んで表示させるようなことをしたいと思っております。 これを、Book2の1個1個のセルに、元となるBook1のセルを参照するよう いちいち入力するのではなく、 Book1の特定の1行を指定すれば、その行に入力してあるデータが 自動的に(一発で)Book2のシートに反映されるようにしたいのですが、 良い方法がありますでしょうか。 ご存知のかたがいらっしゃいましたら、 お教えいただけると嬉しいです。 どうぞよろしくお願い申し上げます。

  • エクセルでのデータ作成(数値以外のデータ抽出)

    製造業の生産管理をしています。 時系列で昨年一年間のクレーム発生件数をまとめているのですが、全クレーム件数から顧客別のパーセントを求めなければいけません。 そこから、「A社○%」「B社○%」という円グラフを作りたいのですが、どうすれば良いのかわかりません。 顧客別の並べ替えは出来たので、せめて全体件数から「A社○件」「B社○件」とカウントできれば後は簡単なのですが…。 A列に発生日、B列に顧客名、C列以降はクレーム内容などなどを入力したデータシートがあります。 以上、日曜出勤している僕の手助けをしてください。

専門家に質問してみよう