>source

내 목표는 지정된 폴더의 여러 시트가있는 모든 통합 문서를 여러 시트의 하나의 통합 문서로 병합하는 것입니다. 문제는 외부 링크가 유지되는 것을 원하지 않는다는 것입니다. "breaklink"를 사용하면 모든 통합 문서의 모든 링크 (외부 링크) b/w 시트가 끊어집니다. 내가 정확히 필요한 것은 하나의 통합 문서에서 모든 통합 문서 시트를 병합 한 후 이러한 병합 된 시트와 관련된 링크가 필요하다는 것입니다.

모든 워크 북을 하나의 워크 북으로 병합하는 코드 :

Sub merge()
Dim FolderPath As String
Dim Filename As String
Dim Sheet As Worksheet
Application.ScreenUpdating = False
FolderPath = "C:\Users\Samiya jabbar\Desktop\test"
Filename = Dir(FolderPath)
Do While Filename <> ""
Workbooks.Open Filename:=FolderPath & Filename, ReadOnly:=True
For Each Sheet In ActiveWorkbook.Sheets
Sheet.Copy After:=ThisWorkbook.Sheets(1)
Next Sheet
Workbooks(Filename).Close
Filename = Dir()
Loop
Application.ScreenUpdating = True
End Sub
```


  • 답변 # 1

    먼저 이동을 시작하기 전에 관련된 모든 파일을 열어야합니다. 이제 시트를 이동하십시오 (복사하지 마십시오). .copy , 사용하다 .move . 병합 된 통합 문서를 저장합니다.

    모든 워크 북을 하나의 워크 북으로 병합하기위한 수정 된 코드 :

    Sub merge()
    Dim FolderPath As String
    Dim Filename As String
    Dim Sheet As Worksheet
    Application.ScreenUpdating = False
    FolderPath = "C:\Users\Samiya jabbar\Desktop\test"
    Filename = Dir(FolderPath)
    Do While Filename <> ""
    Workbooks.Open Filename:=FolderPath & Filename, ReadOnly:=True
    For Each Sheet In ActiveWorkbook.Sheets
    Sheet.move After:=ThisWorkbook.Sheets(1)
    Next Sheet
    Filename = Dir()
    Loop
    Application.ScreenUpdating = True
    End Sub
    ```
    
    

  • 이전 Gradle - gradle - 테스트 리소스에 폴더 및 내용 추가
  • 다음 r - flexdashboard의 다른 페이지에 대해 다른 입력 위젯이있는 다른 사이드 바