
워크시트를 복사한 다음 새 파일로 저장하는 매크로가 있습니다.
그런데 두 개의 워크시트를 복사하여 하나로 합치고 싶은데 워크시트가 서로 다른 두 개의 통합 문서에 있습니다.
예: workbook1에는 2개의 워크시트(worksheet1, worksheet2)가 포함되어 있습니다. workbook2에는 3개의 워크시트(worksheet1, worksheet2, worksheet3)가 포함되어 있습니다.
workbook1의 worksheet1과 workbook2의 worksheet1을 복사하고 싶습니다. 그런 다음 둘 다 동일한 테이블 형식을 가지므로 결합합니다.
어떻게 해야할지 모르겠습니다. 동일한 통합 문서에서 여러 워크시트를 복사하는 방법만 알고 있습니다. 또한 이를 결합하는 방법도 알고 있습니다. 유일한 문제는 workbook1과 workbook2인 다른 통합 문서에서 두 worksheet1을 어떻게 복사할 것인가입니다.
데이터 복사를 위한 간단한 코드만 있습니다. 그런데 내 코드는 다음과 같습니다.
saveFolder = "C:\Document\Macro"
path = "C:\Document\Workbook1"
fname = "Sample Account.xlsx"
Workbooks.Open path & fname
Sheets("Account1").Copy
ActiveWorkbook.SaveAs saveFolder & "\Conso.xlsx", FileFormat:=51
Workbooks(fname).Close
다른 파일은 폴더에 있습니다통합문서2파일 이름은추가 계정
답변1
이 VBA(매크로) 코드는 소스 통합 문서에서 선택한 워크시트를 복사하여 활성 책으로 결합하는 데 도움이 됩니다.
이 코드는 코드를 다양하게 만드는 표준이 아닌 대화형입니다.
Sub CombineSheets()
Dim sPath As String
Dim sFname As String
Dim wBk As Workbook
Dim wSht As Variant
Application.EnableEvents = False
Application.ScreenUpdating = False
sPath = InputBox("Enter File Path Of Source Workbook(s)")
ChDir sPath
sFname = InputBox("Enter the Filename")
sFname = Dir(sPath & "\" & sFname & ".xl*", vbNormal)
wSht = InputBox("Enter Worksheet Name To Copy")
Do Until sFname = ""
Set wBk = Workbooks.Open(sFname)
Windows(sFname).Activate
Sheets(wSht).Copy Before:=ThisWorkbook.Sheets(1)
wBk.Close False
sFname = Dir()
Loop
ActiveWorkbook.Save
Application.EnableEvents = True
Application.ScreenUpdating = True
End Sub
작동 방식:
- 이 코드를 마스터 통합 문서(시트를 결합하려는)의 표준 모듈로 복사하여 붙여넣으세요.
- 매크로를 실행하세요.
- 먼저 원본 통합 문서에 대한 경로를 묻습니다.
메모,더 나은 파일 경로를 복사하여 붙여넣으세요.
그런 다음 통합 문서 이름을 물어보세요. 와일드카드를 사용하거나 와 같은 통합 문서 이름을 사용할 수도 있습니다
Myworkbook
.마지막으로 시트 이름을 복사하도록 요청합니다.