카테고리 없음

[vba] 한 통합 문서에서 특정 폴더의 다른 모든 통합 문서로 데이터를 복사하는 매크로

행복을전해요 2021. 2. 1. 15:40

이거 한번 해봐:

Sub Macro1()
   Dim file As String
      Dim myPath As String
         Dim wb As Workbook
            Dim rng As Range
            
               Dim wbMaster As Workbook
                  'if master workbook already opened
                     Set wbMaster = Workbooks("Master Project list (2).xlsx")
                        'if master workbook is not opened
                           'Set wbMaster = Workbooks.Open("C:\Users\New folder\Master Project list (2).xlsx")
                           
                              Set rng = wbMaster.Sheets("Master Project list").Range("A1:D34")
                              
                                 myPath = "C:\Users\New folder\" ' note there is a back slash in the end
                                    file = Dir(myPath & "*.xls*")
                                       While (file <> "")
                                       
                                               Set wb = Workbooks.Open(myPath & file)
                                                       rng.Copy
                                                               With wb.Worksheets("Master Project list").Range("A1")
                                                                           .PasteSpecial xlPasteColumnWidths
                                                                                       .PasteSpecial xlPasteAll
                                                                                               End With
                                                                                               
                                                                                                       wb.Close SaveChanges:=True
                                                                                                               Set wb = Nothing
                                                                                                               
                                                                                                                       file = Dir
                                                                                                                           Wend
                                                                                                                           
                                                                                                                               Application.CutCopyMode = False
                                                                                                                               End Sub
                                                                                                                               


출처
https://stackoverflow.com/questions/22049843