• 締切済み

複数のエクセルの特定の列からデータを抽出

Prome_Linの回答

  • Prome_Lin
  • ベストアンサー率42% (201/470)
回答No.3

No.1の「Prome_Lin」です。 3番目からなら、「For i = 2 to r」の「2」を「3」にするだけです。 次に、「エラーが出てもそのファイルは無視して」ということですが、「VBScript」では、エラー処理が貧弱なので、1行目の「Option Explicit」の下に「On Error Resume Next」と入れてください。何かエラーが出ても、エラーを出力せず、次にいきますが、「次に」というのは、ファイルを飛ばす、ということではなく、単にエラーの出た行の次の行を実行する、というだけですが、これで、エラーは出ません。また、気になるようでしたら、一番下の「MsgBox("Finished!")」の前に「On Error GoTo 0」を置けば、「On Error Resume Next」から復帰しますが、すでにプログラムが終わっているので、意味はありません。 最後に、「【Sheet名】XXXXXXX.xls もしくは、【Sheet名】XXXXXXX.xlsx」についてですが、具体的に書いて頂けませんか、「Sheet名」と「XXXXXXX.xls」の間の区切りが、何か明確なものがないと、プログラムで判断できません。それとも必ず「【】」が付いている?とか。 とにかく、「XXXXXXX」は必ず7文字です、とか、「Sheet名」は必ず5文字です、とか、「Sheet名」と「XXXXXXX」の間には、必ず、「_」が存在し、「_」は他には存在しませんとか、何かルールが分からないと、どこまでが「Sheet名」か判断が出来ません。

abcdefghijklmu
質問者

補足

ファイル名として、【数字3ケタとアルファベット1文字-数字4ケタ】文字(文字数バラバラ).xls or .xlsx ■例1) ファイル名:【123K-5678】問題分析.xls Sheet名:123K-5678 ■例2) ファイル名:【567A-1234】(未定)今後の予定.xlsx Sheet名:567A-1234 ご回答になっていますでしょうか? 宜しくお願い致します。

関連するQ&A

  • 複数のエクセルブックから特定シートの特定セル抽出

    同一フォルダ内にある複数のExcelブックから特定シートの特定セル値を抽出して一覧表にまとめるExcel マクロ(VBA)を教えてください。 よく似ている質問、回答を読んだのですが、私のレベルではとても応用できず質問させていただきます。 【前提】 ・実行する端末のOSはWindows XP(SP3)、Excelは2003 ・対象フォルダはネットワーク接続フォルダ「\データ解析\データ」  この中に、複数のExcelブックがあります。 ・抽出したい対象は、各ブック内のシート(シート名はファイル名と同じ)の「BO6からBW16までの□の範囲」で統一されています。 【抽出一覧作成イメージ】 ・「集計.xls」ブックの「Sheet1」の2行目から抽出した結果を一覧表示する。 ・表示はA列に抽出元ブック名(=ファイル名)、B列に抽出元BO6セルの値。以降,C列・D列と 順に値を入れていきたい。 ・BO6~BW16までのセル値を「集計.xls」ブックの「Sheet1」に貼り付ける際には「値で貼り付ける」が望ましい。 というようなイメージです。 とても勝手なお願いではありますが、宜しくお願いいたします。

  • EXCEL 文字列条件抽出

    特定の文字列を検索条件として別シートに抽出する方法を御教授願います。 使用する関数はLEN,MID,LEFT,ISERR,もしくはワイルドカードなどを使用すればいいのかと考えておるのですがいまいちやりたいような数式を組めず悩んでおります。 やりたいことを言葉で表現するならば以下のような感じとなります。 「sheet1のF列に<107>という文字が含まれていた場合」 ・顧客別シートのD列に顧客ごとに分けて抽出 ・含まれていない場合、抽出しない と、単純なことなのです。が、制約がある為にうまくいきません。 制約は以下となります。 ・検索対象の文字列が以下のように決まった形ではない。 (1)A-BB-107○#----- (2)A-BB-107○#----- (3)ABB107○C #----- (4)ュウリABB-107○#----- (5)ュウリABB107○#----- (6)BB-107○C-D9#-----  など、その他にも数種類存在。(○部分には違う数字が入ります) ・上記でも分かるように<107>が始まる文字列の位置が決まっていない。 という具合です。 操作しているブック構成は下記のとおりです。 ・sheet1・・・参照用シート 4行目 /D列・・・顧客No / E列・・・顧客名 / C列・・・製品仕様 (A列,B列,G~AD列まで使用中) 5行目 / 1 / A / A-BB-107○#----- 6行目 / 2 / B / ュウリABB-107○#----- 7行目 / 1 / A / BB-107○C-D9#----- 8行目 / 3 / C / A-BB-107○#----- 9行目 / 3 / C / BB-107○C-D9#-----  10行目 / 4 / D / A-BB-107○#----- (会社のサーバーで管理している情報がそのままエクセルに打ち出されたシート。 情報量として約1000行ほど) ・sheet2,3,4,5(開始行,項目列は同じ位置)・・・特定の顧客別ごとに分け、特定の製品仕様だけを抽出したシート(参照用から引用)。 4行目/ B列・・・顧客No / C列・・・顧客名 / D列・・・製品仕様 5行目 / / A-BB-107○#----- 6行目 / / ュウリABB-107○#----- 7行目 1 / A / BB-1234C-D9#----- 8行目 / / A-BB-1115#----- 9行目 / / BB-107○C-D9#-----  10行目 / / A-BB-3498○#----- 特定の顧客NoをB列(一つのセルになってます。C列も同様一つのセルになってます)に入力すると、製品仕様すべてを抽出するように作成したシート。このシート内のG列から新たに表を作成し<107>の文字列が含む製品仕様を抽出しようと考えております。 出来れば、このような一度段階を踏んでから特定の仕様を抽出するのではなく各シートに対象となる顧客Noを入力すると特定の仕様が一回で抽出できるようなシートを作成したいのですが、関数初心者の為、うまく組めずこのような形となりました。(現在、参照用シートに作業列を作り対応。作業列ばかりが増えて正直困っているのも確かなのです) 【御教授頂きたいこと】 ・<107>の文字列を条件として別表に抽出する関数の数式 です。 また、出来ればでいいのですが、 ・顧客Noを入力すると特定の仕様が一回で別表に抽出できるような方法が御座いましたら、そちらも合わせてお願いしたいと思っております。 長々と書き綴り、大変申し訳御座いませんが、宜しくお願い致します。

  • エクセル 複数ファイルから特定のデータを抽出

    いつもこちらでお世話になっております。 先日も同じような質問をさせて頂いたのですが、 ファイルの構成が変わってきてしまい、再度質問させて頂きます。 (元データ) A  B     C      D        E No 月1    月2     月2      氏名    1 2010/11  2010/8   2010/7    佐藤 2 2010/10  2010/8   2010/7    山田 3 2011/12  2010/8   2010/7    田中 4 2010/10  2010/8   2010/7    田中 ・ ・ 上記のデータが1年度あたり ファイル1(4シート+一覧シート) ファイル2(4シート+一覧シート) ファイル3(4シート+一覧シート) ファイル4(4シート+一覧シート) ファイル5(4シート+一覧シート) ※上記A列のNoは1シート内での連番。 のように構成され、それが6年度分(計30ファイル)あるという状態です。 別ファイルにて2010/10とセルに入力してやると、各ファイルのB~D列に2010/10 とあるデータだけ抽出して一覧にしてくれるようにしたいと考えております。 関数またはVBAにて処理する方法はありますでしょうか? お知恵を拝借願えれば幸いです。

  • エクセルVBAで特定の列の複数の行を一覧表示し

    エクセルVBAで特定の列の複数の行を一覧表示し マウスなどで選択された項目を特定の変数に代入するにはどのようにVBAを書けばよいか教えてください。 たとえばC列の縦10行分を一覧表示して、マウスで選択した一項目を変数に代入するというようなことです。

  • 複数のExcelブックから特定シートの特定セル抽出

    同一フォルダ内にある複数のExcelブックから特定シートの特定セル値を抽出して一覧表にまとめるExcel マクロ(VBA)を教えてください。 よく似ている質問、回答を読んだのですが、私のレベルではとても応用できず質問させていただきます。 全く同じものがあれば、そのアドレスを回答いただくだけでも助かります。 【前提】 ・実行する端末のOSはWindows XP(SP3)、Excelは2003 ・対象フォルダはネットワーク接続フォルダ「\\share\target」  この中に、複数のExcelブックがあります。 ・抽出したい対象は、各ブック内の「概要」シートの「C3」セルで統一されています。 【抽出一覧作成イメージ】 ・「集約.xls」ブックの「Sheet1」の2行目から抽出した結果を一覧表示する。 ・表示はA列に抽出元ブック名(=ファイル名)、B列に抽出元C3セルの値。 ・C3セル値を「集約.xls」ブックの「Sheet1」に貼り付ける際には「値で貼り付ける」が望ましい。 というようなイメージです。 とても勝手なお願いではありますが、宜しくお願いいたします。

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

    エクセルでのデータ整理の件で以下の質問があります。 以下のことができるようなマクロは組めませんでしょうか? 同一フォルダ(仮に、「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ブックから特定シートの特定セル範囲を抽出して一覧表にまとめるExcel マクロ(VBA)を教えてください。 このサイトで殆どよく似た回答を読んだのですがうまくいきません。VBA初心者です。 よろしくお願いします。 【前提】 ・実行する端末のOSはWindows 10 ExcelはOffice365 ProPlus ・対象フォルダはネットワーク接続フォルダ  この中に、複数のExcelブック(xlsx、xlsm)があります。 ・抽出したい対象は、各ブック内の「台帳」シートの「A3:Cの最終行」で  複数のブックの中には「台帳」シートが含まれていないブックも混在しています。 【抽出一覧作成イメージ】 ・「集約.xlsm」ブックの「集計」シートの2行目から抽出した結果を一覧表示する。 ・「集約.xlsm」ブックにマクロは登録する ・表示はA列に抽出元ブック名(=ファイル名)、B列からD列に抽出元「A3:Cの最終行」セルの値。 ・「A3:Cの最終行」セルの値を「集約.xlsm」ブックの「集計」に貼り付ける際には「値で貼り付ける」が望ましい。

  • 複数EXCELファイル中のデータを1つのファイルへ

    同じシート名、同じフォーマットで記載されている約400個のEXCELファイルから、『Participant List』というシート名のB列~H列、8行目~50行の範囲の記載を1つのEXCELファイルに纏めるVBAスクリプトを作成し実行したいのですが、VBAが全く分からず大変困っております。 マクロを実行した時に、入力ファイルと出力ファイルの保存ホルダーを聞いて指定出来るように出来た良いと思っています。 何方か、お分かりでしたらどうぞお力添えをお願いいたします。 <詳細> ・400個の入力EXCELファイルには、『Participant List』、『特定類型』の2つのシートが入っており、今回の入力用シートは『Participant List』になります。 ・今回抜き出したい記載は、『Participant List』シート中のB列~列、8行目~50行の範囲の記載になります。 ・『Participant List』シート中のB列の6行目と7行目のセルは結合しており、各列のタイトルは以下の通りになっています。  このタイトル名を出力ファイルの1行目へデータの各列のタイトルとして付けて、2行目以降より400個の入力ファイル中のデータを連結したいです。   B列:6,7行=『職員番号(nimsID)』     C列:6,7行=『名前(Name)』       D列:6,7行=『部門(Research Center, Division)』   E列:6,7行=『グループ(Group)』   F列:6,7行=『役職(Title)』   G列:6,7行=『開始年月(Start)』   H列:6,7行=『終了年月(End)』 ・出力ファイル名や出力のシート名は特に考えておりません。 ・入力データは以下ような記載のフォーマットになります。   B列=『職員番号(nimsID)』       例:14769     C列=『名前(Name)』         例:田中 一郎    D列=『部門(Research Center, Division)』 例:総合開発・情報部門   E列=『グループ(Group)』   例:科学リーダー   F列=『役職(Title)』     例:リーダ-   G列=『開始年月(Start)』  例:2023/5/1   H列=『終了年月(End)』   例:2023/5/31 ・入力ファイル名の例=科学登録者_23BB3001.xlsx            科学登録者_23BB3005.xlsx            科学登録者_23BB3405.xlsx ※拙い口足らずな説明となってしまいましたが、どうぞ宜しくお願い致します。

  • Excel 複数の項目合致するデータを抽出したい

    是非、よろしくお願いいたします。 以下の状況です。 sheet1には A、B、C、Dという4列があります。データは1000行くらいです。 sheet2には A、B、C、Eという4列があります。データは2000行くらいです。 この状況で、sheet1のD列の右に新しい列を作り、 「sheet1の(例えば)A1、B1、C1と合致する行のsheet2のE列データ」を、 sheet2のABC列範囲を検索して抽出したいのです。 項目が一つであればvlookup関数でできるものを「複数項目に合致」のため上手くいきません。 この3列のデータを結合して一つにしてみましたが、結合後のデータが16桁以上のため末尾が「0」になってしまい、正確に検索できません。 何か上記を可能にする方法はないでしょうか? よろしくお願いいたします。

  • 複数のエクセルファイルとシートからデータ抽出したい

    すみませんが教えてください! 複数のエクセルファイルがあり、それぞれに複数のシートがあります。 (ファイルによってシート数は異なります) そのすべてのファイル/シートから、C列の最後の行のデータを抽出し、集計ファイルに書き出したいのです。 書き出しのフォーマットは3セル使用して、ファイル名、シート名、データとしたいです。 すみませんが、よろしくお願いいたします。