• 締切済み

ExcelVBAで同一フォルダにある複数ファイルの特定セルの値を纏めたい

VBA初心者です。同じような質問があがっていましたが、初心者のため応用が効かずよく分からないので教えてください。(Excel2003使用) Cドライブの直下に仮に「注文」という名前のフォルダがあり、 その中に同じ形式のExcelファイルが複数入っています。 (ファイルの名前は全て異なります) 各ファイルのsheet1にB2セルは発注した人の名前、H4、H7に注文した商品の単価、H14に合計額(SUM関数)が入ってます。 このB2セルとH4、H7、H14の値のみを別ファイルに一つにまとめたいのですがどうすればよいでしょうか。       A列             |B列    |C列    |D列  -------------------------------- 1行目  |○○(B2の名前)   |15(H4)|10(H7)|25(H14) -------------------------------- 2行目  |△△(別ファイルB2) |0      |15    |15 -------------------------------- 3行目  |××(別ファイルB2  |20     |0     |20 といった感じにしたいです・・ よろしくお願いします。

みんなの回答

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.2

ブックを読んで、各ブック(名)を捕まえるのは http://okwave.jp/qa5411462.html と同じ内容の質問では無いか。 でも初心者には難しいと思う。 ーー 各ブックを捉えて、その中の決ったシートのセルの値を開いているシートに一覧化するコードは目算がついているのか。 搗いて無いレベルだと、そっくりコードを書いてくれ(丸投げ質問)にならざるをえないが。

  • n-jun
  • ベストアンサー率33% (959/2873)
回答No.1

別ファイルが >Cドライブの直下に仮に「注文」という名前のフォルダがあり、 ここに入っていないとします。 Sub try()  Dim wb As Workbook  Dim r As Range  Dim P_name As String  Dim F_name As String  Application.ScreenUpdating = False  Set r = ActiveSheet.Range("A1")  P_name = "C:\注文\"  F_name = Dir(P_name & "*.xls", vbNormal)  Do Until F_name = ""     Set wb = Workbooks.Open(P_name & F_name)     With wb.Worksheets("Sheet1")          r.Value = .Range("B2").Value          r.Offset(, 1).Value = .Range("H2").Value          r.Offset(, 2).Value = .Range("H4").Value          r.Offset(, 3).Value = .Range("H14").Value     End With     Set r = r.Offset(1)     wb.Close False     F_name = Dir()  Loop  Set r = Nothing  Set wb = Nothing  Application.ScreenUpdating = True End Sub 一例です。 ご参考になれば。

関連するQ&A

専門家に質問してみよう