- 締切済み
複数ファイルの情報をひとつに集約したい
(1)~(4) という名前の四つのファイルがあり、中身はすべて同一形式で作成されています。 A列:見積書NO この(1)~(4)のファイルの情報をひとつに集約するシートを新たに作成したいと考えています。その際、(1)~(4)のA列で、見積書NOが入力されているものだけを抽出していきたいのですが、どのようにすればよいでしょうか? (例:(1)のA列で見積書NOが入力されている行は5行、(2)は3行、(3)は15行、(4)は1行 といった場合、集約されるシートのA列には合計24行が入力されるといった具合です) 残りの情報はVLOOKUPで設定できそうなのですが、この方法だけがわかりません。ご教授願います。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- hallo-2007
- ベストアンサー率41% (888/2115)
VBAの力を借りますが、よろしいでしょうか。 新しいファイルを作成して、 Alt + F11キーで VBエディターを起動して 挿入 標準モジュールを作成 Sub Sample1() Dim buf As String, i As Long Dim j As Long buf = Dir(ThisWorkbook.Path & "\*.xls") Do While buf <> "" i = i + 1 If buf <> ThisWorkbook.Name Then Workbooks.Open ThisWorkbook.Path & "\" & buf ThisWorkbook.Worksheets(1).Cells(i + 1, 1).Value = buf For j = 1 To Worksheets.Count ThisWorkbook.Worksheets(1).Cells(i + 1, j + 1) = Sheets(j).Name Worksheets(j).Copy After:=ThisWorkbook.Worksheets(1) Workbooks(buf).Activate Next Workbooks(buf).Close SaveChanges:=False End If buf = Dir() Loop End Sub をコピィして、一度、ファイルのあるフォルダに名前をつけて保存してください。 他のファイルは閉じた状態で ツール=>マクロ=>マクロから Sample1を選択して実行してみてください。