2017-03-15 1 views
1

"Master"라고하는 Excel 스프레드 시트에 약 1,000 개의 행 데이터가 있습니다.이 ID는 Region ID라는 식별자를 기반으로 42 개의 서로 다른 스프레드 시트로 분할하려고합니다. 새로운 워크 시트의 이름과 함께 동일한 통합 문서의 다른 스프레드 시트에 42 개의 고유 한 영역이있는 테이블을 만들었습니다. 지금까지 42 개의 새로운 스프레드 시트를 만들고 이에 따라 이름을 짓는 다음 코드를 작성했습니다.데이터를 새 워크 시트에 붙여 넣고 다른 테이블의 셀을 기반으로 특정 행을 삭제하려면 어떻게합니까?

Sub Create_Tabs() 
Dim MyCell As Range, MyRange As Range 

Set MyRange = Sheets("TabList").Range("D2") 
Set MyRange = Range(MyRange, MyRange.End(xlDown)) 

For Each MyCell In MyRange 
    Sheets.Add After:=Sheets(Sheets.Count) 'creates a new worksheet 
    Sheets(Sheets.Count).Name = MyCell.Value ' renames the new worksheet 
    'I would like to create code here to paste the "Master" spreadsheet contents in the newly created worksheet and keep only rows corresponding Region IDs (delete the rest). 
Next MyCell 
End Sub 

새로 만든 워크 시트에 "마스터"스프레드 시트 내용을 붙여 넣고 어떻게 해당 지역 ID에 해당하는 행만 유지합니까 (나머지는 삭제합니까)?

답변

1

탭 이름에 대한 마스터 데이터를 필터링하고 새 시트로 복사하십시오.

이와 비슷한 기능이 작동합니다. 데이터를 기반으로 필터 입력란을 변경해야 할 수 있습니다.

Sub Create_Tabs_And_Copy_Data() 
    Dim MyCell As Range, MyRange As Range 

    Set MyRange = Sheets("TabList").Range("D2") 
    Set MyRange = Range(MyRange, MyRange.End(xlDown)) 

    For Each MyCell In MyRange 
     Sheets.Add After:=Sheets(Sheets.Count) 'creates a new worksheet 
     Sheets(Sheets.Count).Name = MyCell.Value ' renames the new worksheet 
     'I would like to create code here to paste the "Master" spreadsheet contents in the newly created worksheet and keep only rows corresponding Region IDs (delete the rest). 
     With Sheets("Master").UsedRange 
      .AutoFilter 
      .AutoFilter Field:=1, Criteria1:=MyCell.Value 
      .SpecialCells(xlCellTypeVisible).Copy Sheets(MyCell.Value).Cells(1, 1) 
      Application.CutCopyMode = False 
     End With 
    Next MyCell 
    End Sub 
+1

위대한 작품입니다! 정말 고맙습니다. – HTMLHelpMe

관련 문제