- 締切済み
ホルダー内にある、複数のブックから同一のセルにあるデータを抽出して一覧表にしたい。
エクセルで見積書を作成しホルダーに格納しています。各ブックから基本データ(見積番号、相手先、現場名、日付等)を抽出して、一覧表のブックを作成したいのですが、どなたかご教示ください。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- Masa2072
- ベストアンサー率51% (94/182)
方法1 手作業で =[参照元.xls]Sheet1!A1 などと外部参照する式を入れていく 随時変更しなくて良いのであれば、その後に形式を選択して貼り付けで値に変更 方法2 マクロで Sub MitsuList() Dim FileName As String Dim R As Integer Dim BK as Object With ActiveSheet FileName = Dir("C:\Mitsumori\*.xls") Do Until FileName = "" Set BK = Workbook.Open("C:\Mitsumori\" & FileName) R = R + 1 .Range("A" & R).Value = BK.Sheets(1).Range("見積番号").Value .Range("B" & R).Value = BK.Sheets(1).Range("相手先").Value .Range("C" & R).Value = BK.Sheets(1).Range("現場名").Value .Range("D" & R).Value = BK.Sheets(1).Range("日付").Value BK.Close FileName = Dir() Loop End With End Sub というような感じで、見積番号のあたりは実際のセル番地で 注意点としては同じフォルダに見積書以外のファイルがあっても同じように処理してしまいます。なお動作確認はしていませんのでそのままでは動かないかもしれません。 今後の方策としては、見積もりの雛形を作成し保存時に自動的に一覧表ブックにデータを追加するマクロを埋め込んでおくというのもありかな(ThisWorkbookのBeforeSaveイベント)