이 검색을 많이 시도했지만 만족스러운 답변을 찾을 수 없습니다. 재 게시자라면 미안해.머리글 행을 첫 번째 파일부터 유지하면서 여러 Excel 파일 병합
기본적으로 여러 Excel 파일을 하나의 통합 문서로 병합하는 것이 좋습니다. 나는 단지 첫 번째 Excel 파일의 머리글 행을 유지하고 나머지 Excel 파일의 머리글 행은 무시합니다 (모두 동일하므로). 따라서 최종 결과는 첫 번째 Excel 파일의 Header + 데이터 여야하며 나머지 Excel 파일에서는 첫 번째 파일과 비슷한 열 머리글이있는 첫 번째 행이 아니라 데이터 행 만 필요합니다. 아래의 복사는 모든 Excel 파일의 모든 행과 열을 붙여 넣습니다. 도와 주셔서 감사합니다.
For wbCounter = 1 To UBound(books)
Set wbSource = oExcel.Workbooks.Open(books(wbCounter))
For wsCounter = 1 To wbSource.Sheets.Count
Set wsSource = wbSource.Sheets(wsCounter)
If wsSource.Name Like selectSheetStr Then
emptySheet = True
If cbOptionIgnoreEmpty.Value = True And wsSource.UsedRange.Address = "$A$1" Then
emptySheet = True
Else
emptySheet = False
End If
If emptySheet = False Then
mergedWorksheetName = wsSource.Name
sheetExist = SheetExists(mergedWorksheetName, wbResult)
If (cbOptionAppendData.Value = True And sheetExist = True) Then
Set wsMergeResult = wbResult.Sheets(mergedWorksheetName)
wsSource.UsedRange.Copy
wsMergeResult.Cells(wsMergeResult.UsedRange.Rows.Count + 1, 1).Resize(wsSource.UsedRange.Rows.Count, wsSource.UsedRange.Columns.Count).PasteSpecial Paste:=xlPasteAll, Operation:=xlNone
mergedWorksheetCount = mergedWorksheetCount + 1
'Name of Worksheet
wsResult.Cells(mergedWorksheetCount + 1, 1) = wsMergeResult.Name
'Fullpath of Workbook
wsResult.Cells(mergedWorksheetCount + 1, 2) = wbSource.FullName
Else
wsSource.Copy After:=wbResult.Sheets(wbResult.Sheets.Count)
mergedWorksheetCount = mergedWorksheetCount + 1
wsResult.Cells(mergedWorksheetCount + 1, 1) = .ActiveSheet.Name
wsResult.Cells(mergedWorksheetCount + 1, 2) = wbSource.FullName
End If
End If
End If
Next wsCounter
wbSource.Close SaveChanges:=False
Next wbCounter
감사 Soren. 나머지 Excel 파일에서 열 이름을 제거합니다. 당신이 신경 쓰지 않기를 바라는 한가지 더 말하면, 나머지 Excel 파일에 1 행의 레코드가있는 경우, 행을 두 번 붙여 넣는 복사입니다. 따라서 두 번째 엑셀 시트의 레코드 (한 행 레코드 만 사용)는 마스터 엑셀 파일에 두 번 복사됩니다 (최종 통합 된 엑셀 통합 문서를 의미 함). 왜 그럴 수 있니? 도움을 주셔서 다시 한번 감사드립니다. – Kashif77
나는 두 번째 질문을 성급하게 이해하지 못한다는 것에 대해 사과한다. 아마도 새로운 질문에 이것을 기술하는 것이 더 낫겠습니까? Pleace가 당신을 위해 일하면 답을 받아들입니다. –
감사합니다. Soren. 나는 새로운 질문을 추가 할 것이다. – Kashif77