- ベストアンサー
EXCEL 複数のファイルから指定したセルの値を自動で抽出したい。
EXCEL2003を使用しています。 同じ様式のフォーマットに入力されたデータファイルがフォルダにいくつもあります。 それらのファイルの中から指定したセルの値を自動で抜き出し、 あたらしいシートに入力したいのですが、可能でしょうか? フォルダ内のファイル数は相当あり、ファイル名を一つ一つ指定するような方法は無理なので、 フォルダ内のファイル全てから自動で抜き出すような方法になると思いますが、どのような方法があるでしょうか。 複雑であれば参考になるリンク等教えていただきたいです。
- ynd001
- お礼率50% (3/6)
- その他(業務ソフトウェア)
- 回答数2
- ありがとう数1
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
Sub あつめる() Sheets.Add Set 新シト = ActiveSheet 書行 = 1 Set オブ = CreateObject("Shell.Application") Set パス = オブ.BrowseForFolder(&O0, "フォルダを選んでください", &H1 + &H10, "C:\") If パス Is Nothing Then Exit Sub フォルダ = パス.Items.Item.Path Set オブ = Nothing: Set パス = Nothing Set オブ = CreateObject("Scripting.FileSystemObject") For Each ブク In オブ.GetFolder(フォルダ).Files If LCase(オブ.GetExtensionName(ブク)) = "xls" Then Workbooks.Open ブク 新シト.Range("A" & 書行).Value = ActiveWorkbook.Name 新シト.Range("B" & 書行).Value = Sheets(1).Range("A1").Value 新シト.Range("B" & 書行).Interior.ColorIndex = 35 新シト.Range("C" & 書行).Value = Sheets(1).Range("B2").Value 新シト.Range("C" & 書行).Interior.ColorIndex = 35 新シト.Range("D" & 書行).Value = Sheets(1).Range("C3").Value 新シト.Range("D" & 書行).Interior.ColorIndex = 35 新シト.Range("E" & 書行).Value = Sheets(2).Range("A1").Value 新シト.Range("E" & 書行).Interior.ColorIndex = 36 新シト.Range("F" & 書行).Value = Sheets(2).Range("B2").Value 新シト.Range("F" & 書行).Interior.ColorIndex = 36 新シト.Range("G" & 書行).Value = Sheets(2).Range("C3").Value 新シト.Range("G" & 書行).Interior.ColorIndex = 36 新シト.Range("H" & 書行).Value = Sheets(2).Range("D4").Value 新シト.Range("H" & 書行).Interior.ColorIndex = 36 書行 = 書行 + 1 ActiveWorkbook.Saved = True ActiveWorkbook.Close End If Next Set オブ = Nothing Set 新シト = Nothing MsgBox "完了" End Sub 新シト.Range("H" & 書行).Value = Sheets(2).Range("D4").Value 新シト.Range("H" & 書行).Value は書く方 結果の表示です Sheets(2).Range("D4").Value は 何を書くか です いくつも書くときは "H" & 書行 を I,J,Kのようにずらして下さい Sheets(2).Range("D4").Value 「左から2番目のシート」 の 「D4セル」 の 「文字」 という意味です Sheets("Sheet1").Range("D4").Value シートの名前 で指定するときは このようにしてください それぞれ 無いものを指定したときはエラーになります シートが1つしかないのに Sheets(5) と書くと止まります 書いたシート名が間違っていたり あるブックでは Sheet1 他では シート1 なら止まります 順番は必ず正しいなら シートの番号で指定 名前は必ず正しいなら シートの名前で指定します どちらも確実でない時は 別の条件で探すことになります
その他の回答 (1)
- anotherone
- ベストアンサー率54% (35/64)
フォルダ内のファイルはExcelなのでしょうか シートは1つだけでしょうか 特定のシートでしょうか 全てのシートでしょうか 左端のシート 3番目のシート 特定名のシート 条件に合う全てのシート セルはどのセルですか A1でしょうか A1:C3でしょうか
補足
フォルダ内のファイルは全てExcelです。 3シート入っており、名前はSheet1.2.3です。 このなかのSheet1から指定した3つのセルとSheet2から6つ程度のセルを 抜き出し合わせて一覧にしたいと考えています。 セルの位置はこれから検討になります。
関連するQ&A
- Excel 同一フォルダ内の複数ファイルから、指定条件に合致したブックを抽出する
こんばんわ。早速ですが教えて頂きたいことがあります。 あるフォルダに同様レイアウトの複数ファイルが存在します。 そのファイルは複数シートに分かれています。 3番目のシートの指定セルに値「1」が入力されている場合、 そのファイルを抽出する方法はないでしょうか? (入力されているエクセルがどれかわかるようにしたい) 分かりにくいですが、よろしくお願い致します。
- ベストアンサー
- Visual Basic
- Excel他のファイルへの自動リンクをしているセルの特定
Excel2000に関して教えてください。 他の方が作成したシートですが、セルの一部が他のExcelファイルに自動リンクしているようです。 セルを1つずつ確認していけばわかると思いますが、シート自体がかなり複雑で大きいものなので、この方法だと現実的ではありません。 簡単にどのセルがリンクしているかを特定できる方法は、ないでしょうか。 ちなみ作成した本人に問合せをしましたが試行錯誤で作成したので分らないとの事です。 宜しくお願い致します。
- ベストアンサー
- オフィス系ソフト
- excel 串刺しセルの値を列に並べる
excel2000を利用しています。 シートが10枚以上あるexcelブックがあるのですが、これらのシートのフォーマットは全て同じで、値がそ れぞれ独自に入っています。 一番左側のsheet1は無地です。 そして、左から2sheet目以降の全てのシートで、それぞれ 指定セル を sheet1のA列に縦にデータを保管したいです。 そして、同様にまた違う指定セルをB列、また違うセルをC列・・・・ といった具合で全シートの複数の項目をsheet1にリスト形式でまとめたいです。 どうかご教授をお願いいたします。
- ベストアンサー
- オフィス系ソフト
- excelで自動リンクを計算で作成
お世話になります。 EXCEL2003で質問があります。 まず、用途ですが、365個(1年分)のエクセルファイルがあり、それらのファイルには必ず30シートありそれぞれのシートのフォーマットは決まっています。 それで、その中のそれぞれのシートの中から決まったセルの値を読み込みたいのですが、とりあえずの方法が 1.indirect 2.自動リンク の2種類があるかと思います。 しかし、これらにはそれぞれ問題点があります。 indirectでは、365個のファイルを全て開かなければいけない。(10ファイルほど開き吸い出したら値をコピー、開いたのを閉じて別ファイルを開き値を貼り付け・・・繰り返し・・・にしても量が多い) 自動リンクでは、ほしいデーターを選択するのがめんどくさい・・・ なので、自動リンクの形式である、 ='ドライブ:\フォルダ[ファイル.xls]シート'!セル を計算で作成しました。 さらにそれではやはりダメでしたのでコピーして値を貼り付けてもダメでした・・・ですが、その値となったセルでF2→enterとすると値が出ました!! しかし、読みたいセルが合計で8760行×30列=262,800セルあり、いちいちF2→enterなどできません(T_T) どうにかして、一度に変換?して一気に数値読み出しできませんでしょうか? 尚、申し訳ございませんがVBAがまだわからないためできれば使用したくありません。 不明な点がございましたらご指摘下さい。 よろしくお願い致します。
- ベストアンサー
- オフィス系ソフト
- 複数ファイルから特定セルの抽出の仕方
エクセル:マクロの初心者で自分なりに勉強しましたがなかなかうまくいきません。 今、しようとしている事は、1つフォルダがありその中に複数のファイルがあります。このそれぞれのファイルのシートの特定のセルのデータを抜き出して、別に新しくシートを作り、表にまとめたいと思っています。 条件は 1,フォルダ名「risuto」、そのフォルダの中の複数あるシート(300程あります)のタ イトルはそれぞれ違いますがシートの様式は同じです。 2,そのファイルの「sheet1」のセルM5からO5を抽出したいです。ファイルは閉じたまま でお願いします。 3,その抽出したデータを別のシートに表にしたいです。書き出しはどこでもOKです。 いろいろ調べた結果、一度名前がバラバラのファイルを何か読み取りやすい形に変えてから それぞれのファイルを見に行きセルを抽出する方法がいいのでは、と考えているのですが、 初心者なので本に載っているような基本のコードしか解らずそれをどの順番にどのように加工したらいいか解らず困っています。 それぞれのファイル、シートをアクティブにしてシート開きそのセルのデータを拾いにいき 新しいシートに貼り付けるという順番でいいでしょうか? かなり頭を悩ましています。 よろしくおねがいします。
- ベストアンサー
- その他MS Office製品
- 複数行列のセル範囲から検索する方法
Excel2003を使っています。 A1:Z80のセル範囲から指定した値を検索し、その値の番地を取得する方法を教えてほしいです。 重複する値は入力されていませんが、空白セルもあります。 他のシートの任意のセルに検索したい値を入力し、見つけた番地にたいするリンクを設定したいのです。 VBAでも関数でもいいので、力を貸して下さい。
- ベストアンサー
- オフィス系ソフト
- とあるシートの複数のセルの範囲の値と、とあるフォル
とあるシートの複数のセルの範囲の値と、とあるフォルダにあるファイル名が部分一致していたら、そのファイルを別の指定のフォルダに入れるVBAを大まかでいいので教えてください。 (1)アクティブになっているブック内にあるシートのとあるセル範囲のそれぞれの値(例:1111、2222、3333...) (2)開いていないフォルダ内にあるファイル名(例:1111-H8-32.xlsなど) が部分一致したとき、そのファイルを別のフォルダ内に移動させたいのですが、いまいちわかりません、教えていただけないでしょうか?
- 締切済み
- オフィス系ソフト
- EXCEL関数で指定セルに入力方法
EXCEL関数で指定したセルに別のセルの値をコピーしたり、そのまま入力した数値が自動的に指定したセルに書き込まれる(リンクは張らずに)といった関数はないのでしょうか?マクロ処理であれば簡単のですが、マクロ無しで使いたいとおもいまして。
- ベストアンサー
- オフィス系ソフト
- Excelで、セルを削除した際に、自動的に繰り上がるセルの値を入力させ
Excelで、セルを削除した際に、自動的に繰り上がるセルの値を入力させたい。 シート1にずらーっと名前のリストを表示させています。その名前を、シート2で拡大して表示させる為に、シート2に大き目のセルを結合させて作成し、当該のセルに「=シート1!A1」との数式を入れました。 この段階では、シート1のA1の値が、シート2に拡大表示されている状態となります。 拡大表示させた物を印刷する事が目的な為、この状態を印刷した後に、シート1でA1のセルを削除しました。自動的にシート2には、繰り上がったシート1のA1になるはずの次の値(「削除する前はA2)が繰り上がって表示されるかと思っておりましたが、「#REF!」の表示が出てしまいます。 設定か何かで自動的に繰り上がった値が表示される方法はありませんでしょうか。 ※ちなにみ、この表示される値は数式等ではありません。
- ベストアンサー
- その他MS Office製品
- ACCESS VBAでEXCELのセルの値操作
ACCESS2007のVBAでEXCEL2007のファイルを開き、 シート数を数え、3シート以降のA1セルの値をB1セルに移動するには どのようなきじゅつをすればいいでしょうか。 ご教授お願い致します。
- ベストアンサー
- Visual Basic
お礼
詳しい解説本当にありがとうございます。 大変たすかります。 早速ためしてみたいと思います。