如何根据条件将所需的数据行从一张Excel表复制到另一张表中?

问题描述:

我有一个7k行数据的Excel表,我需要根据列(组名)将这些数据分成三个不同的表。如何根据条件将所需的数据行从一张Excel表复制到另一张表中?

因此,我需要根据组名称(有3个组)分成三个不同的表。

请让我知道对此...提前

谢谢...

你可以尝试这样的事情,把它放在一个宏观和需求

运行
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 2009-11-20 07:58:27

+0

如果您调试宏,usedRange.Rows.Count的值是什么? – 2009-11-20 08:27:40