- 締切済み
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 といった感じにしたいです・・ よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- imogasi
- ベストアンサー率27% (4737/17069)
ブックを読んで、各ブック(名)を捕まえるのは http://okwave.jp/qa5411462.html と同じ内容の質問では無いか。 でも初心者には難しいと思う。 ーー 各ブックを捉えて、その中の決ったシートのセルの値を開いているシートに一覧化するコードは目算がついているのか。 搗いて無いレベルだと、そっくりコードを書いてくれ(丸投げ質問)にならざるをえないが。
- n-jun
- ベストアンサー率33% (959/2873)
別ファイルが >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 一例です。 ご参考になれば。