• ベストアンサー

EXCEL同じセルのデータを抜き出す

よろしくお願いします。 1つのフォルダの中に、20近くのファイルがあります。 その1つのファイルには、それぞれ6つのシートがあります。 その中の1つのシート  ※シートもすべて同じ構造で作られています。 例えば、A100セルに書かれている数字を 別のファイルに20個分まとめて抽出したいのですが いちいちA100の数字をコピーして張り付けるのは時間がもったいない。 何とか簡単に出来る方法はないでしょうか? 関数かマクロを使うのでしょうか? よろしくお願いします。

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

  • ベストアンサー
  • papayuka
  • ベストアンサー率45% (1388/3066)
回答No.1

やるとしたらVBAでしょうか、、、 テスト環境で試して下さい。 1)新規ブックで ALT+F11を押下してVBEを開く 2)挿入-標準モジュールでモジュールを追加 3)下記のマクロをコピペし、VBEを閉じる 4)このブックを該当フォルダに保存(必ず) 実行すると、このブックと同じフォルダ内のExcelファイルを次々に開いて、Sheet1(一番左のシート) A100 の値を、このブックの一番左のシートに転記します。 Sub Test() Dim myDir As String, myName As String Application.ScreenUpdating = False With ThisWorkbook myDir = .Path & "\" myName = Dir(myDir & "*.xls", vbNormal)   Do While myName <> ""     If myName <> .Name Then      Set wb = Workbooks.Open(myDir & myName)      .Worksheets(1).Range("A65536").End(xlUp).Offset(1, 0).Value = _      wb.Worksheets(1).Range("A100")      wb.Close     End If     myName = Dir   Loop End With End Sub

その他の回答 (1)

noname#52504
noname#52504
回答No.2

質問者様の技術レベルを読みきれず、 何が問題なのか今ひとつポイントを掴みかねております。 同一フォルダにたかだか20程度のファイルということで、 作業規模が微妙なので…。 A.一度きりの単発作業なのでしょうか?  一斉に開いて地味に貼り付けていっても10分とかからない作業と思います。  そのためだけにマクロを組むのは割に合わないかと。 B.同一のフォルダ・同一のファイル群に対して繰り返し行う定型業務なのでしょうか?  転記ではなく参照を行うのが普通かと思います。  その場合でも、地味に参照を入れていったとしてやはり10分とかからないかと。  一度参照貼ってしまえば以後は全自動ですし…。 C.もしかして「他のブックの値を参照するには?」というご質問なのでしょうか?

関連するQ&A