Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


6990 / 76732 ←次へ | 前へ→

【75337】Re:サブフォルダを含めた複数ブックのデータを別ブックに転記する
発言  kanabun  - 14/2/13(木) 13:37 -

引用なし
パスワード
   ▼おっさんそし さん:

>サブフォルダを含めるというところで躓いております。

サブフォルダを取得して、 各サブフォルダ名で GetDataを呼べばいいと
思います。

'引数は、フォルダーのパス
Private Sub GetData(ByVal FolderPath As String)
 Dim FSO As New FileSystemObject
 Dim Files As Files
 Dim File As File
 Dim myFolder As Folder
 Dim Fol As Folder
 Dim FileName As String
 Dim TenkiRow As Integer
 Dim ws As Worksheet
 Application.ScreenUpdating = False
 
 '引数のパス内のファイル一覧を取得
 Set myFolder = FSO.GetFolder(FolderPath)
 For Each File In myFolder.Files
   'フルパスを取得
   FileName = FolderPath & "\" & File.Name
   'Debug.Print FileName
   'ファイルを開く
   Workbooks.Open FileName
   Set ws = ActiveWorkbook.Worksheets(1)
   With ThisWorkbook.Worksheets(1)
     '転記先の行を取得
     TenkiRow = .Range("B65536").End(xlUp).Offset(1).Row
     '転記作業
     .Range("A" & TenkiRow).Value = ws.Range("C1").Value
     .Range("B" & TenkiRow).Value = ws.Range("M17").Value
     .Range("C" & TenkiRow).Value = ws.Range("A9").Value
     .Range("D" & TenkiRow).Value = ws.Range("F9").Value
     .Range("E" & TenkiRow).Value = ws.Range("L2").Value
     .Range("F" & TenkiRow).Value = ws.Range("C30").Value
   End With
   Set ws = Nothing
   'ファイルを閉じる
   ActiveWorkbook.Close False
 Next
'-----------------------------------------------------------
 For Each Fol In myFolder.SubFolders
   GetData FolderPath & "\" & Fol.Name
 Next
'-----------------------------------------------------------
 Application.ScreenUpdating = True
End Sub
2 hits

【75335】サブフォルダを含めた複数ブックのデータを別ブックに転記する おっさんそし 14/2/13(木) 11:19 質問
【75337】Re:サブフォルダを含めた複数ブックのデー... kanabun 14/2/13(木) 13:37 発言
【75338】Re:サブフォルダを含めた複数ブックのデー... おっさんそし 14/2/13(木) 14:08 お礼

6990 / 76732 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free