2016-09-22 4 views
-1

각각 n 개의 워크 시트가 포함 된 n 개의 엑셀 시트가 있습니다. 필요 : 각 엑셀의 모든 워크 시트를 매크로를 사용하여 오름차순으로 오름차순으로 조합해야합니다.2 개의 엑셀을 분류하기 1

답변

0

각각의 워크 시트가 여러 개인 Excel 통합 문서를 사용한다고 가정합니까? 이 경우 새 대상에 복사 할 탭을 마우스 오른쪽 버튼으로 클릭하고 "이동 또는 복사 ..."를 클릭 한 다음 지침에 따라 새 책으로 복사하십시오. 워크 시트를 원래 위치에 유지하고 사본을 만들려면 "복사본 만들기"상자를 선택하십시오.

이 통합 문서의 이름을 지정하고 다른 탭을 이동하거나 다른 이름으로 복사 할 수 있습니다.

+1

당신은 당신이 비 VBA 솔루션을 원한다면 내가 설명 된 단계를 기록 할 수있는 매크로에 (I 어떤 이유로,이 가정) 및 단계는 동일마다했다. 그러나, 나는 Pav.s 방법을 선호 인정해야한다 :) – Zephyr

0

이것은 필요한 작업을 수행해야합니다. 폴더를 선택하고 폴더 내의 모든 파일을 반복하고 해당 통합 문서의 모든 시트를 같은 디렉터리에 저장된 단일 시트로 결합 할 수 있습니다. 하지만 정렬 할 수는 없지만 find multiple ready macros 이렇게하면 결과에 하나를 실행하거나 내 콘텐츠를 붙여 넣기 전에 wb2를 저장 & 닫을 수 있습니다.

Sub MergeFilesWithoutSpaces() 
Dim fldr As FileDialog 
Dim path As String 

'pick folder 
Set fldr = Application.FileDialog(msoFileDialogFolderPicker) 
With fldr 
    .Title = "Select a Folder" 
    .AllowMultiSelect = False 
    .InitialFileName = strPath 
    If .Show <> -1 Then Exit Sub 
    path = .SelectedItems(1) 
End With 

'create new workbook to store results and rename its sheet 
With Application 
    .EnableEvents = False 
    .ScreenUpdating = False 
    .SheetsInNewWorkbook = 1 
End With 
Set wb2 = Workbooks.Add 
wb2.Worksheets(1).Name = "00Delete_Me" 

'fetch filename 
Filename = Dir(path & "\*.xls", vbNormal) 
'loop through all *XLS files 
If Len(Filename) = 0 Then Exit Sub 
Do Until Filename = vbNullString 
     Set Wkb = Workbooks.Open(Filename:=path & "\" & Filename) 
     'copy each worksheet 
     For Each Sh In Wkb.Sheets 
      Sh.Copy After:=wb2.Sheets(wb2.Sheets.Count) 
     Next Sh 

     Wkb.Close False 
    Filename = Dir() 
Loop 
'delete the initial sheet and save result as "combined" workbook in same directory 
Application.DisplayAlerts = False 
wb2.Sheets("00Delete_Me").Delete 
wb2.SaveAs Filename:=(path & "\combined"), FileFormat:=xlOpenXMLWorkbookMacroEnabled 
Application.DisplayAlerts = True 
'close combined 
wb2.Close 
End Sub 
관련 문제