[[20120501083428]] 『ファイルを開かないでデータを採取したい』(nagasan) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『ファイルを開かないでデータを採取したい』(nagasan)

開いているファイル以外のファイルからデータを採取したくて以下のマクロを作成しました。

Sub test()

 Dim thisBook As workBook
 Dim workBook As workBook
 Dim i As Integer
 Dim retsu As Integer
 Application.ScreenUpdating = False
 For retsu = 2 To 14 Step 14
  For i = 8 To 25
   Set thisBook = ThisWorkbook
   If Cells(i, retsu) <> "" Then
    Set workBook = Workbooks.Open(Cells(2, 2) & Cells(3, retsu) & "\" & Cells(i, retsu))
    Cells(i, retsu + 1).Value = workBook.Worksheets("入力禁止").Cells(47, 19).Value
    workBook.Close saveChanges:=False
   Else
    Cells(i, retsu + 1).Value = ""
   End If
  Next i
 Next retsu
 Application.ScreenUpdating = True
End Sub

しかし、いちいちファイルを開いてデータを採取しているためか、
実行するのに30秒程度の時間がかかります。
ExecuteExcel4Macroを使う事までは、ネットで調べられたのですが、
データを採取するファイルのパスやファイル名にセルデータを使用しているため、
私の知識ではうまくいきません。ご教授いただけないでしょうか?


 参考:ブックを開かないで読む
http://officetanaka.net/excel/vba/tips/tips28.htm
 MsgBox ExecuteExcel4Macro("'C:\[Book1.xls]Sheet1'!R1C1")
"'C:\[Book1.xls]Sheet1'!R1C1"は文字列なので文字列&文字列&文字列
の様にできるのでセルの値&セルの値&セルの値にすればよいだけでは


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.