2009-11-20 6 views
0

필자는 7k 행 데이터의 Excel 시트를 가지고 있는데,이 데이터를 열 (그룹 이름)을 기반으로 3 개의 다른 시트로 분리해야합니다.조건에 따라 하나의 Excel 시트에서 다른 시트로 필요한 데이터 행을 복사하는 방법은 무엇입니까?

그래서 세 개의 다른 시트에 그룹 이름 (세 그룹이 있음)을 기준으로 데이터를 분리해야합니다.

... 날이에 대해 알고 사전에

감사합니다 ...

카르을 주시기 바랍니다

답변

0

당신은 매크로에 넣어 수요

에서 실행, 이런 식으로 뭔가를 시도 할 수 있습니다
Sub Macro1() 
Dim rowCounter As Integer 
Dim usedRange As Range 
Dim sourceSheet As Worksheet, dest1 As Worksheet, dest2 As Worksheet, dest3 As Worksheet 
Dim dest1Row As Integer, dest2Row As Integer, dest3Row As Integer 

    dest1Row = 1 
    dest2Row = 1 
    dest3Row = 1 
    Set sourceSheet = Sheets("Sheet1") 
    Set dest1 = Sheets("Sheet2") 
    Set dest2 = Sheets("Sheet3") 
    Set dest3 = Sheets("Sheet4") 
    Set usedRange = sourceSheet.usedRange 

    For rowCounter = 1 To usedRange.Rows.Count 
     If (usedRange(rowCounter, 1) = 1) Then 
      usedRange.Range(Cells(rowCounter, 1), Cells(rowCounter, usedRange.Columns.Count)).Copy dest1.Range("A" & dest1Row) 
      dest1Row = dest1Row + 1 
     ElseIf (usedRange(rowCounter, 1) = 2) Then 
      usedRange.Range(Cells(rowCounter, 1), Cells(rowCounter, usedRange.Columns.Count)).Copy dest2.Range("A" & dest2Row) 
      dest2Row = dest2Row + 1 
     ElseIf (usedRange(rowCounter, 1) = 3) Then 
      usedRange.Range(Cells(rowCounter, 1), Cells(rowCounter, usedRange.Columns.Count)).Copy dest3.Range("A" & dest3Row) 
      dest3Row = dest3Row + 1 
     End If 
    Next rowCounter 
End Sub 
+0

감사합니다 ... 위의 매크로를 실행했지만 원본 시트의 첫 번째 행만 볼 수있었습니다 소스 시트가 복사되었습니다. 다른 시트 (sheet2, sheet3) .. 무엇이 문제일까요 ?? – kar

+0

매크로를 디버깅하는 경우 usedRange.Rows.Count의 값은 무엇입니까? –

관련 문제