[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『チェックシート』(saya)
複数ブックの同じシートの特定セルの内容を抽出し、1つのチェックシート用の エクセルに貼り付けたいのですが、可能でしょうか。 複数ブックは1つのフォルダの中に入れます。特定セルは複数のシートにまたがっています。
Book1 Sheet1:A5, B10/Sheet3:C1 Book2 Sheet1:A5, B10/Sheet3:C1 Book3 Sheet1:A5, B10/Sheet3:C1 ・ ・
チェックシート用ファイル A列 B列 C列 D列 Book1 Sheet1:A5 Sheet1:B10 Sheet3:C1 Book2 Sheet1:A5 Sheet1:B10 Sheet3:C1 Book3 Sheet1:A5 Sheet1:B10 Sheet3:C1
WindowsVista Excel2003
A B C D 1 Sheet1 Sheet1 Sheet3 2 ファイル名 A5 B10 C1 3
下記を実行してみてどうでしょう。
Option Explicit Sub MakeDataList() Dim fso Set fso = CreateObject("Scripting.FileSystemObject")
Dim srcWS As Worksheet Set srcWS = ActiveSheet
Dim folderPath With Application.FileDialog(msoFileDialogFolderPicker) If .Show <> True Then Exit Sub folderPath = .SelectedItems(1) End With
Dim row As Long Dim col As Long Dim lastCol As Long
row = 3 lastCol = srcWS.Range("B2").End(xlToRight).Column If lastCol = Columns.Count Then MsgBox "取得位置が範囲が未定義です " Exit Sub End If
Dim file For Each file In fso.GetFolder(folderPath).Files With Workbooks.Open(folderPath & "\" & file.Name) srcWS.Cells(row, "A").Value = file.Name For col = 2 To lastCol srcWS.Cells(row, col).Value = .Worksheets(srcWS.Cells(1, col).Value).Range(srcWS.Cells(2, col).Value).Value Next .Close row = row + 1 End With Next End Sub (Mook)
Mookさん
すごい! こんなのできるんですね。 今まで回りくどい関数でやってたんです。 マクロ、勉強しなきゃと思いました。
思い通りのものが出来ました。これなら柔軟に使用できそうです。 ありがとうございました。
saya
フォルダの中に複数ファイルがあり、選択した複数ファイルを対象としたい。
ファイル名はばらばらでファイルのフォーマットも数種類ある。1行目のシート名も
数種類ある。
(例えば)3種類のファイルがあり、フォーマットもそれぞれ別になっています。
シート名もそれぞれ3種類が別になっています。
これを纏めて1つのエクセルでリストにしたいのです。
ファイル選択画面を以前のフォルダ指定から複数ファイル選択に変更し、
シート名で判断してそれぞれの列に値を出したいのです。尚、元ファイルが計算式に
なっているセルがあるので、貼り付ける際には「値で貼り付け」にしたい。
saya
この質問は別で新たに質問にしました。 ご迷惑をおかけします。
(saya)
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.